
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

bfd_vma __regparm3
lang_size_sections_1
          (lang_statement_union_type **prev,
          lang_output_section_statement_type *output_section_statement,fill_type *fill,bfd_vma dot,
          bfd_boolean *relax,bfd_boolean check_regions)

{
  bfd_vma *pbVar1;
  flagword *pfVar2;
  bfd *pbVar3;
  asection *output_section;
  lang_statement_union *plVar4;
  wildcard_list *pwVar5;
  etree_type *tree;
  undefined4 uVar6;
  undefined4 uVar7;
  name_list *pnVar8;
  bfd_size_type bVar9;
  undefined *puVar10;
  lang_memory_region_type *plVar11;
  lang_statement_union *plVar12;
  asection *current_section;
  int iVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  uint uVar17;
  bfd_boolean bVar18;
  lang_statement_list_type *prev_00;
  char *pcVar19;
  etree_union *tree_00;
  lang_memory_region_type *plVar20;
  char *pcVar21;
  byte bVar22;
  byte bVar23;
  undefined **extraout_ECX;
  uint uVar24;
  uint uVar25;
  asection *paVar26;
  undefined1 *puVar27;
  uint uVar28;
  uint uVar29;
  uint uVar30;
  byte *pbVar31;
  byte *pbVar32;
  bool bVar33;
  bool bVar34;
  byte bVar35;
  bfd_vma bVar36;
  undefined **ppuVar37;
  lang_statement_union *local_9c;
  fill_type *local_8c;
  asection *local_84;
  uint local_80;
  asection *local_7c;
  uint local_78;
  uint local_6c;
  lang_memory_region_type *local_64;
  uint local_60;
  uint local_54;
  int local_50;
  name_list *local_4c;
  char *local_48;
  undefined8 local_34;
  bfd_boolean again;
  int local_20;
  undefined4 uStack_14;
  
  bVar35 = 0;
  uStack_14 = 0x21f8b;
  current_section = (asection *)(PTR__bfd_std_section_00092fb4 + 0x180);
  plVar4 = *prev;
  local_8c = fill;
joined_r0x00021fcf:
  local_9c = plVar4;
  if (local_9c == (lang_statement_union *)0x0) {
    return dot;
  }
  local_34._0_4_ = (uint)dot;
  local_34._4_4_ = (uint)(dot >> 0x20);
  local_34 = dot;
  switch((local_9c->header).type) {
  case lang_output_section_statement_enum:
    if ((local_9c->output_section_statement).constraint != -1) {
      tree_00 = (local_9c->output_section_statement).addr_tree;
      if (tree_00 == (etree_union *)0x0) {
        if (((link_info._0_1_ & 3) == 2) &&
           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {
          tree_00 = exp_intop(0);
          (local_9c->output_section_statement).addr_tree = tree_00;
          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;
        }
      }
      else {
LAB_00022390:
        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;
        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);
        if (expld.result.valid_p == 0) {
          if (expld.phase != lang_mark_phase_enum) {
            plVar4 = (local_9c->wild_statement).children.head;
            pwVar5 = (local_9c->wild_statement).handler_data[1];
            pcVar19 = (char *)dcgettext(0,
                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"
                                        ,5);
            einfo(pcVar19,pwVar5,plVar4);
          }
        }
        else {
          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);
          if (expld.result.section != (asection *)0x0) {
            local_34 = CONCAT44(expld.result.value._4_4_ +
                                *(int *)((int)&(expld.result.section)->vma + 4) +
                                (uint)CARRY4((uint)expld.result.value,
                                             (uint)(expld.result.section)->vma),
                                (uint)expld.result.value + (int)(expld.result.section)->vma);
          }
        }
      }
      puVar10 = PTR__bfd_std_section_00092fb4;
      local_7c = (local_9c->output_section_statement).bfd_section;
      if (local_7c != (asection *)0x0) {
        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&
           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {
          paVar26 = (local_9c->input_section).section;
          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)
             ) {
            plVar4 = (local_9c->wild_statement).children.head;
            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"
                                        ,5);
            einfo(pcVar19,plVar4);
            local_7c = (local_9c->output_section_statement).bfd_section;
            paVar26 = (local_9c->input_section).section;
            uVar15 = local_7c->flags;
          }
          uVar14 = paVar26->index;
          uVar6 = *(undefined4 *)(uVar14 + 0x1c);
          uVar7 = *(undefined4 *)(uVar14 + 0x20);
          local_7c->field_0x18 = local_7c->field_0x18 | 1;
          *(undefined4 *)&local_7c->lma = uVar6;
          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;
          *(undefined4 *)&local_7c->vma = uVar6;
          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;
          if ((uVar15 & 0x800) == 0) {
            uVar6 = *(undefined4 *)(uVar14 + 0x30);
            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);
            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;
          }
        }
        else {
          local_84 = (asection *)(uint)local_34;
          local_80 = local_34._4_4_;
          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {
            local_6c = 0;
            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);
            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);
            if (local_50 != 0 || local_54 != 0) {
              info_assert("../../ld/ldlang.c",0x13e5);
              local_54 = 0;
              local_50 = 0;
            }
          }
          else {
            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {
              plVar20 = (local_9c->output_section_statement).region;
              uVar15 = local_7c->flags;
              if (plVar20 == (lang_memory_region_type *)0x0) {
LAB_0002315d:
                plVar20 = lang_memory_region_list;
                if ((uVar15 & 0x19) == 1) {
                  uVar15 = uVar15 | 0x20;
                }
                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {
                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))
                  goto LAB_000231b2;
                }
                plVar20 = lang_memory_region_lookup("*default*",0);
                local_7c = (local_9c->output_section_statement).bfd_section;
LAB_000231b2:
                (local_9c->output_section_statement).region = plVar20;
              }
              else if ((uVar15 & 3) != 0) {
                pbVar31 = (byte *)(plVar20->name_list).name;
                bVar23 = *pbVar31;
                bVar33 = bVar23 < 0x2a;
                bVar34 = bVar23 == 0x2a;
                if (bVar34) {
                  iVar13 = 10;
                  pbVar32 = (byte *)"*default*";
                  do {
                    if (iVar13 == 0) break;
                    iVar13 = iVar13 + -1;
                    bVar33 = *pbVar31 < *pbVar32;
                    bVar34 = *pbVar31 == *pbVar32;
                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;
                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;
                  } while (bVar34);
                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;
                }
              }
              plVar11 = lang_memory_region_list;
              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&
                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {
                bVar33 = false;
                bVar34 = check_regions == 0;
                if (!bVar34) {
                  iVar13 = 10;
                  pbVar31 = (byte *)(plVar20->name_list).name;
                  pbVar32 = (byte *)"*default*";
                  do {
                    if (iVar13 == 0) break;
                    iVar13 = iVar13 + -1;
                    bVar33 = *pbVar31 < *pbVar32;
                    bVar34 = *pbVar31 == *pbVar32;
                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;
                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;
                  } while (bVar34);
                  if (((((!bVar33 && !bVar34) == bVar33) &&
                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&
                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),
                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&
                     (expld.phase != lang_mark_phase_enum)) {
                    pcVar19 = local_7c->name;
                    if (command_line.check_section_addresses == '\0') {
                      pcVar21 = 
                      "%P: warning: no memory region specified for loadable section `%s\'\n";
                      ppuVar37 = extraout_ECX;
                    }
                    else {
                      pcVar21 = 
                      "%F%P: error: no memory region specified for loadable section `%s\'\n";
                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;
                    }
                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);
                    einfo(pcVar21,pcVar19);
                    local_7c = (local_9c->output_section_statement).bfd_section;
                    plVar20 = (local_9c->output_section_statement).region;
                  }
                }
              }
              local_64 = (lang_memory_region_type *)plVar20->current;
              local_60 = *(uint *)((int)&plVar20->current + 4);
              local_6c = local_7c->alignment_power;
            }
            else {
              local_6c = (local_9c->output_section_statement).section_alignment;
              local_60 = local_34._4_4_;
              local_64 = (lang_memory_region_type *)(uint)local_34;
            }
            if ((int)local_6c < 1) {
              local_54 = 0;
              local_50 = 0;
              local_84 = (asection *)local_64;
              local_80 = local_60;
            }
            else {
              bVar33 = (local_6c & 0x20) == 0;
              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);
              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);
              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);
              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &
                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +
                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);
              local_54 = (int)local_84 - (int)local_64;
              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);
              if (((local_50 != 0 || local_54 != 0) &&
                  ((config.warn_section_align != 0 ||
                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&
                 (expld.phase != lang_mark_phase_enum)) {
                plVar4 = (local_9c->wild_statement).children.head;
                pcVar19 = (char *)dcngettext(0,
                                             "%P: warning: changing start of section %s by %lu byte\n"
                                             ,
                                             "%P: warning: changing start of section %s by %lu bytes\n"
                                             ,local_54,5);
                einfo(pcVar19,plVar4,local_54);
                local_7c = (local_9c->output_section_statement).bfd_section;
              }
            }
            local_7c->field_0x18 = local_7c->field_0x18 | 1;
            *(asection **)&local_7c->lma = local_84;
            *(uint *)((int)&local_7c->lma + 4) = local_80;
            *(asection **)&local_7c->vma = local_84;
            *(uint *)((int)&local_7c->vma + 4) = local_80;
            *(undefined4 *)&local_7c->output_offset = 0;
            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;
          }
          lang_size_sections_1
                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,
                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,
                     CONCAT44(local_80,local_84),relax,check_regions);
          bVar23 = *(byte *)((int)local_9c + 0x54);
          paVar26 = (local_9c->output_section_statement).bfd_section;
          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;
          if (paVar26 == (asection *)(puVar10 + 0x180)) {
            local_80 = *(uint *)(puVar10 + 0x1b0);
            local_84 = *(asection **)(puVar10 + 0x1ac);
LAB_00022aad:
            if (local_80 != 0 || local_84 != (asection *)0x0) {
              info_assert("../../ld/ldlang.c",0x1443);
            }
          }
          else {
            local_84 = (asection *)paVar26->size;
            local_80 = *(uint *)((int)&paVar26->size + 4);
            if ((bVar23 & 8) != 0) goto LAB_00022aad;
            uVar15 = (uint)paVar26->vma;
            iVar13 = *(int *)((int)&paVar26->vma + 4);
            local_34 = paVar26->vma;
            if ((paVar26->flags & 0x800) == 0) {
              uVar14 = (local_9c->output_section_statement).block_value;
              uVar25 = (uVar15 + uVar14) - 1;
              bVar23 = (byte)opb_shift;
              uVar24 = local_80 >> (bVar23 & 0x1f);
              uVar17 = uVar24;
              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);
              if ((opb_shift & 0x20) != 0) {
                uVar17 = 0;
                uVar16 = uVar24;
              }
              uVar28 = uVar25 + uVar16 & -uVar14;
              uVar29 = uVar28 - uVar15;
              uVar30 = uVar29 << (bVar23 & 0x1f);
              uVar24 = uVar30;
              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +
                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -
                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)
              ;
              if ((opb_shift & 0x20) != 0) {
                uVar24 = 0;
                uVar15 = uVar30;
              }
              *(uint *)((int)&paVar26->size + 4) = uVar15;
              *(uint *)&paVar26->size = uVar24;
            }
          }
          local_64 = (local_9c->output_section_statement).region;
          if (local_64 == (lang_memory_region_type *)0x0) {
            local_64 = lang_memory_region_lookup("*default*",0);
          }
          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {
            local_84 = (local_9c->output_section_statement).bfd_section;
            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;
            uVar15 = local_84->flags;
            local_7c = (asection *)(uVar15 & 1);
            if (pnVar8 != (name_list *)0x0) {
              local_4c = pnVar8[4].next;
              local_48 = pnVar8[5].name;
              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {
                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {
                  local_6c = (local_9c->output_section_statement).section_alignment;
                }
                if (0 < (int)local_6c) {
                  bVar23 = (byte)local_6c & 0x1f;
                  uVar17 = 1 << ((byte)local_6c & 0x1f);
                  uVar16 = uVar17;
                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;
                  if ((local_6c & 0x20) != 0) {
                    uVar16 = 0;
                    uVar14 = uVar17;
                  }
                  bVar33 = local_4c != (name_list *)0x0;
                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);
                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);
                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &
                                     (uint)(local_48 +
                                           (uint)CARRY4((uint)puVar27,uVar16) +
                                           uVar14 + (bVar33 - 1)));
                }
              }
              else {
                bVar33 = CARRY4((uint)local_4c,local_54);
                local_4c = (name_list *)((int)&local_4c->name + local_54);
                local_48 = local_48 + (uint)bVar33 + local_50;
              }
              *(name_list **)&local_84->lma = local_4c;
              *(char **)((int)&local_84->lma + 4) = local_48;
              goto LAB_0002263c;
            }
            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;
            if (local_7c != (asection *)0x0) {
              paVar26 = (local_64->last_os->output_section_statement).bfd_section;
              uVar14 = (uint)paVar26->vma;
              uVar16 = *(uint *)((int)&paVar26->vma + 4);
              uVar17 = (uint)paVar26->lma;
              uVar25 = *(uint *)((int)&paVar26->lma + 4);
              bVar23 = (byte)opb_shift;
              if (local_34._4_4_ < uVar16 ||
                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {
                uVar24 = (uint)local_84->size;
                uVar30 = *(uint *)((int)&local_84->size + 4);
                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;
                uVar28 = uVar30 >> (bVar23 & 0x1f);
                uVar29 = uVar28;
                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);
                if ((opb_shift & 0x20) != 0) {
                  uVar29 = 0;
                  uVar24 = uVar28;
                }
                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);
                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))
                goto LAB_000231ba;
                if (uVar16 != uVar25 || uVar14 != uVar17) {
                  plVar4 = (local_9c->wild_statement).children.head;
                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,
                                              uVar16);
                  einfo(pcVar19,plVar4);
                  local_84 = (local_9c->output_section_statement).bfd_section;
                  uVar15 = local_84->flags;
                  local_7c = (asection *)(uVar15 & 1);
                  goto LAB_0002263c;
                }
              }
              else {
LAB_000231ba:
                if ((local_9c->output_section_statement).sectype == overlay_section) {
                  uVar14 = *(uint *)((int)&paVar26->size + 4);
                  uVar24 = uVar14 >> (bVar23 & 0x1f);
                  uVar16 = uVar24;
                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)
                  ;
                  if ((opb_shift & 0x20) != 0) {
                    uVar16 = 0;
                    uVar14 = uVar24;
                  }
                  local_7c = (asection *)(uVar14 + uVar17);
                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);
                }
                else {
                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);
                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -
                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);
                }
                if (0 < (int)local_6c) {
                  bVar23 = (byte)local_6c & 0x1f;
                  uVar17 = 1 << ((byte)local_6c & 0x1f);
                  uVar16 = uVar17;
                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;
                  if ((local_6c & 0x20) != 0) {
                    uVar16 = 0;
                    uVar14 = uVar17;
                  }
                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);
                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);
                  local_78 = -(uVar14 + (uVar16 != 0)) &
                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;
                }
                *(asection **)&local_84->lma = local_7c;
                *(uint *)((int)&local_84->lma + 4) = local_78;
              }
              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;
              goto LAB_00022648;
            }
            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;
          }
          else {
            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");
            local_84 = (local_9c->output_section_statement).bfd_section;
            uVar15 = local_84->flags;
            local_84->lma = bVar36;
            local_7c = (asection *)(uVar15 & 1);
LAB_0002263c:
            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;
            if (local_7c != (asection *)0x0) {
LAB_00022648:
              if ((uVar15 & 0x402) != 0x400) {
                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {
                  if (local_64->last_os == (lang_statement_union *)0x0) {
                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||
                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;
                  }
                  else {
                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;
                    uVar14 = *(uint *)((int)&paVar26->vma + 4);
                    if (uVar14 <= local_34._4_4_ &&
                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)
                    goto LAB_00022a68;
                  }
                }
                else {
LAB_00022a68:
                  if (((local_9c->wild_statement).walk_wild_section_handler ==
                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {
                    local_64->last_os = local_9c;
                  }
                }
              }
            }
          }
          if ((local_84 != (asection *)(puVar10 + 0x180)) &&
             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {
            if ((uVar15 & 0x402) == 0x400) {
              local_7c = (asection *)0x0;
              local_78 = 0;
              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;
            }
            else {
LAB_000226bf:
              uVar15 = *(uint *)((int)&local_84->size + 4);
              bVar23 = (byte)opb_shift & 0x1f;
              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);
              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);
              local_78 = uVar14;
              if ((opb_shift & 0x20) != 0) {
                local_78 = 0;
                local_7c = (asection *)uVar14;
              }
            }
            local_34 = CONCAT44(local_34._4_4_ + local_78 +
                                (uint)CARRY4((uint)local_34,(uint)local_7c),
                                (uint)local_34 + (int)local_7c);
            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {
              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,
                            (asection *)(puVar10 + 0x180),&local_34);
            }
            plVar20 = (local_9c->output_section_statement).region;
            if ((plVar20 != (lang_memory_region_type *)0x0) &&
               (paVar26 = (local_9c->output_section_statement).bfd_section,
               (paVar26->flags & 3) != 0)) {
              *(uint *)&plVar20->current = (uint)local_34;
              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;
              if (check_regions != 0) {
                os_region_check((lang_output_section_statement_type *)
                                &(local_9c->wild_statement).children.tail,plVar20,
                                (local_9c->output_section_statement).addr_tree,paVar26->vma);
              }
              plVar20 = (local_9c->output_section_statement).lma_region;
              if (((plVar20 != (lang_memory_region_type *)0x0) &&
                  (plVar20 !=
                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&
                 ((paVar26 = (local_9c->output_section_statement).bfd_section,
                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {
                uVar15 = (uint)paVar26->lma;
                iVar13 = *(int *)((int)&paVar26->lma + 4);
                bVar36 = paVar26->lma;
                *(uint *)&plVar20->current = (int)local_7c + uVar15;
                *(uint *)((int)&plVar20->current + 4) =
                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);
                if (check_regions != 0) {
                  os_region_check((lang_output_section_statement_type *)
                                  &(local_9c->wild_statement).children.tail,plVar20,
                                  (etree_type *)0x0,bVar36);
                }
              }
            }
          }
        }
      }
    }
    break;
  case lang_assignment_statement_enum:
    again = (uint)local_34;
    local_20 = local_34._4_4_;
    tree = (etree_type *)(local_9c->input_section).section;
    expld.dataseg.relro = exp_seg_relro_none;
    exp_fold_tree(tree,output_section_statement->bfd_section,(bfd_vma *)&again);
    plVar4 = expld.dataseg.relro_start_stat;
    plVar12 = expld.dataseg.relro_end_stat;
    if (expld.dataseg.relro == exp_seg_relro_start) {
      plVar4 = local_9c;
      if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&
         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {
        uVar15 = 0x137c;
        goto LAB_0002296b;
      }
    }
    else if (((expld.dataseg.relro == exp_seg_relro_end) &&
             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&
            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {
      uVar15 = 0x1385;
LAB_0002296b:
      info_assert("../../ld/ldlang.c",uVar15);
      plVar4 = expld.dataseg.relro_start_stat;
      plVar12 = expld.dataseg.relro_end_stat;
    }
    expld.dataseg.relro_end_stat = plVar12;
    expld.dataseg.relro_start_stat = plVar4;
    expld.dataseg.relro = exp_seg_relro_none;
    if ((((tree->type).node_class & ~etree_unary) == etree_assign) &&
       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))) {
      output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;
    }
    if ((output_section_statement->field_0x54 & 8) == 0) {
      if (abs_output_section == output_section_statement) {
        plVar20 = lang_memory_region_lookup("*default*",0);
        *(bfd_boolean *)&plVar20->current = again;
        *(int *)((int)&plVar20->current + 4) = local_20;
        local_34._0_4_ = again;
        local_34._4_4_ = local_20;
      }
      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {
        bVar23 = (byte)opb_shift & 0x1f;
        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);
        uVar14 = uVar16;
        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |
                 again - (uint)local_34 >> 0x20 - bVar23;
        if ((opb_shift & 0x20) != 0) {
          uVar14 = 0;
          uVar15 = uVar16;
        }
        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),
                   output_section_statement->bfd_section,local_34);
        local_9c = (local_9c->header).next;
        local_34._0_4_ = again;
        local_34._4_4_ = local_20;
        if ((output_section_statement->sectype != noalloc_section) &&
           ((output_section_statement->sectype != noload_section ||
            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {
          pfVar2 = &output_section_statement->bfd_section->flags;
          *pfVar2 = *pfVar2 | 1;
        }
      }
    }
    break;
  case lang_input_statement_enum:
  case lang_address_statement_enum:
  case lang_target_statement_enum:
  case lang_output_statement_enum:
  case lang_insert_statement_enum:
    goto _L1385;
  case lang_wild_statement_enum:
    prev_00 = (lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp;
    goto LAB_00022351;
  case lang_input_section_enum:
    if (relax != (bfd_boolean *)0x0) {
      pbVar3 = ((local_9c->input_section).section)->owner;
      bVar18 = (*pbVar3->xvec->_bfd_relax_section)
                         (pbVar3,(local_9c->input_section).section,
                          (bfd_link_info *)PTR_link_info_00092fa8,&again);
      if (bVar18 == 0) {
        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);
        einfo(pcVar19);
      }
      if (again != 0) {
        *relax = 1;
      }
    }
    paVar26 = (((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->
              input_section).section;
    output_section = output_section_statement->bfd_section;
    if ((*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200) {
      uVar15 = (uint)paVar26->vma;
      bVar36 = output_section->vma;
      *(uint *)((int)&paVar26->output_offset + 4) =
           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -
           (uint)(uVar15 < (uint)output_section->vma);
      *(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;
    }
    else if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))
    {
      uVar15 = output_section_statement->subsection_alignment;
      if (uVar15 == 0xffffffff) {
        uVar15 = paVar26->alignment_power;
      }
      else {
        paVar26->alignment_power = uVar15;
      }
      if (output_section->alignment_power < uVar15) {
        output_section->alignment_power = uVar15;
        uVar15 = paVar26->alignment_power;
      }
      bVar23 = (byte)uVar15 & 0x1f;
      uVar17 = 1 << ((byte)uVar15 & 0x1f);
      uVar14 = uVar17;
      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;
      if ((uVar15 & 0x20) != 0) {
        uVar14 = 0;
        uVar16 = uVar17;
      }
      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;
      uVar16 = -(uVar16 + (uVar14 != 0)) &
               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +
               (uint)CARRY4((uint)local_34 - 1,uVar14);
      uVar14 = uVar17 - (uint)local_34;
      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);
      uVar15 = (uint)local_34;
      if (iVar13 != 0 || uVar14 != 0) {
        local_7c._0_1_ = (byte)opb_shift;
        uVar24 = uVar14 << ((byte)local_7c & 0x1f);
        uVar25 = uVar24;
        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);
        if ((opb_shift & 0x20) != 0) {
          uVar25 = 0;
          uVar15 = uVar24;
        }
        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);
        uVar15 = uVar17;
        local_34._4_4_ = uVar16;
      }
      uVar17 = opb_shift;
      uVar14 = (uint)output_section->vma;
      iVar13 = *(int *)((int)&output_section->vma + 4);
      local_7c._0_1_ = (byte)opb_shift;
      *(uint *)&paVar26->output_offset = uVar15 - uVar14;
      bVar9 = paVar26->size;
      *(uint *)((int)&paVar26->output_offset + 4) =
           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);
      uVar16 = *(uint *)((int)&paVar26->size + 4);
      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);
      uVar25 = uVar24;
      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);
      if ((uVar17 & 0x20) != 0) {
        uVar25 = 0;
        uVar16 = uVar24;
      }
      local_34._0_4_ = uVar15 + uVar16;
      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);
      if ((output_section->flags & 0x800) == 0) {
        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);
        uVar16 = uVar25;
        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<
                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)
        ;
        if ((uVar17 & 0x20) != 0) {
          uVar16 = 0;
          uVar15 = uVar25;
        }
        *(uint *)((int)&output_section->size + 4) = uVar15;
        *(uint *)&output_section->size = uVar16;
      }
    }
    else {
      bVar36 = output_section->vma;
      *(uint *)((int)&paVar26->output_offset + 4) =
           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -
           (uint)((uint)local_34 < (uint)output_section->vma);
      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;
    }
    break;
  case lang_object_symbols_statement_enum:
    link_info.create_object_symbols_section = output_section_statement->bfd_section;
    goto _L1385;
  case lang_fill_statement_enum:
    (local_9c->wild_statement).section_list = (wildcard_list *)output_section_statement->bfd_section
    ;
    local_8c = (local_9c->fill_statement).fill;
    break;
  case lang_data_statement_enum:
    pbVar1 = &output_section_statement->bfd_section->vma;
    bVar36 = *pbVar1;
    iVar13 = *(int *)((int)&output_section_statement->bfd_section->vma + 4);
    (local_9c->wild_statement).children.tail =
         (lang_statement_union **)((uint)local_34 - (int)*pbVar1);
    (local_9c->wild_statement).exclude_name_list =
         (name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36));
    (local_9c->wild_statement).children.head =
         (lang_statement_union *)output_section_statement->bfd_section;
    exp_fold_tree((local_9c->data_statement).exp,current_section,&local_34);
    uVar15 = (local_9c->data_statement).type - 0x11a;
    if (4 < uVar15) {
                    /* WARNING: Subroutine does not return */
      ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");
    }
    paVar26 = output_section_statement->bfd_section;
    bVar22 = (byte)opb_shift;
    uVar14 = 1 << (bVar22 & 0x1f);
    if (uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4)) {
      uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);
    }
    uVar14 = uVar14 >> (bVar22 & 0x1f);
    uVar15 = uVar14 + (uint)local_34;
    iVar13 = local_34._4_4_ + CARRY4(uVar14,(uint)local_34);
    local_34 = CONCAT44(iVar13,uVar15);
    bVar23 = *(byte *)((int)&paVar26->flags + 1);
    goto joined_r0x00022089;
  case lang_reloc_statement_enum:
    pbVar1 = &output_section_statement->bfd_section->vma;
    bVar36 = *pbVar1;
    (local_9c->wild_statement).handler_data[1] =
         (wildcard_list *)
         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -
         (uint)((uint)local_34 < (uint)*pbVar1));
    (local_9c->wild_statement).handler_data[0] = (wildcard_list *)((uint)local_34 - (int)bVar36);
    (local_9c->wild_statement).walk_wild_section_handler =
         (walk_wild_section_handler_t)output_section_statement->bfd_section;
    iVar13 = bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted);
    paVar26 = output_section_statement->bfd_section;
    bVar22 = (byte)opb_shift;
    uVar14 = iVar13 >> (bVar22 & 0x1f);
    uVar15 = uVar14 + (uint)local_34;
    iVar13 = ((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34);
    local_34 = CONCAT44(iVar13,uVar15);
    bVar23 = *(byte *)((int)&paVar26->flags + 1);
joined_r0x00022089:
    if ((bVar23 & 8) == 0) {
      uVar16 = uVar15 - (int)paVar26->vma;
      uVar17 = uVar16 << (bVar22 & 0x1f);
      uVar14 = uVar17;
      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<
               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);
      if ((bVar22 & 0x20) != 0) {
        uVar14 = 0;
        uVar15 = uVar17;
      }
      *(uint *)((int)&paVar26->size + 4) = uVar15;
      *(uint *)&paVar26->size = uVar14;
    }
    break;
  case lang_padding_statement_enum:
    (local_9c->wild_statement).section_list = (wildcard_list *)0x0;
    (local_9c->wild_statement).keep_sections = 0;
    pbVar1 = &output_section_statement->bfd_section->vma;
    bVar36 = *pbVar1;
    (local_9c->data_statement).exp =
         (etree_union *)
         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -
         (uint)((uint)local_34 < (uint)*pbVar1));
    (local_9c->wild_statement).filename = (char *)((uint)local_34 - (int)bVar36);
    break;
  case lang_group_statement_enum:
    prev_00 = (lang_statement_list_type *)&(local_9c->assignment_statement).exp;
    goto LAB_00022351;
  case lang_constructors_statement_enum:
    prev_00 = &constructor_list;
LAB_00022351:
    local_34 = lang_size_sections_1
                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions);
    break;
  default:
    info_assert("../../ld/ldlang.c",0x15a7);
  }
LAB_00022010:
  plVar4 = ((lang_statement_header_type *)&(local_9c->header).next)->next;
  prev = (lang_statement_union_type **)local_9c;
  dot = local_34;
  goto joined_r0x00021fcf;
_L1385:
  goto LAB_00022010;
}



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

longlong __regparm2
FUN_00021f80(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,
            int param_6)

{
  uint *puVar1;
  undefined *puVar2;
  longlong lVar3;
  longlong lVar4;
  longlong lVar5;
  undefined *puVar6;
  undefined4 *puVar7;
  int *piVar8;
  undefined *puVar9;
  int iVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  int iVar14;
  uint uVar15;
  undefined4 uVar16;
  char *pcVar17;
  undefined4 uVar18;
  uint uVar19;
  undefined4 *puVar20;
  byte bVar21;
  byte bVar22;
  uint uVar23;
  undefined **extraout_ECX;
  int iVar24;
  int *piVar25;
  uint uVar26;
  uint uVar27;
  byte *pbVar28;
  uint uVar29;
  byte *pbVar30;
  bool bVar31;
  bool bVar32;
  byte bVar33;
  longlong lVar34;
  undefined8 uVar35;
  undefined **ppuVar36;
  int *local_9c;
  undefined *puStack_84;
  uint uStack_80;
  undefined4 *puStack_7c;
  uint uStack_78;
  uint uStack_6c;
  uint uStack_64;
  int iStack_60;
  uint uStack_54;
  int iStack_50;
  uint uStack_4c;
  uint uStack_48;
  undefined8 local_34;
  undefined8 uStack_24;
  undefined4 uStack_14;
  
  bVar33 = 0;
  uStack_14 = 0x21f8b;
  lVar34 = CONCAT44(param_4,param_3);
  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;
  piVar25 = (int *)*param_1;
joined_r0x00021fcf:
  local_9c = piVar25;
  if (local_9c == (int *)0x0) {
    return lVar34;
  }
  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);
  local_34._0_4_ = (uint)lVar34;
  local_34 = lVar34;
  switch(local_9c[1]) {
  case 0:
    if (local_9c[0x12] != -1) {
      iVar14 = local_9c[0xb];
      if (iVar14 == 0) {
        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {
          iVar14 = FUN_000307b0(0,0);
          local_9c[0xb] = iVar14;
          lVar34 = local_34;
          if (iVar14 != 0) goto code_r0x00022390;
        }
      }
      else {
code_r0x00022390:
        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;
        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);
        if (DAT_00093e44 == 0) {
          lVar34 = local_34;
          if (DAT_00093e20 != 1) {
            iVar14 = local_9c[6];
            iVar10 = local_9c[0xb];
            uVar16 = dcgettext(0,
                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"
                               ,5);
            FUN_00032ba0(uVar16,iVar10,iVar14);
            lVar34 = local_34;
          }
        }
        else {
          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);
          if (DAT_00093e40 != 0) {
            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +
                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),
                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));
          }
        }
      }
      puVar6 = PTR__bfd_std_section_00092fb4;
      puStack_7c = (undefined4 *)local_9c[7];
      if (puStack_7c != (undefined4 *)0x0) {
        local_34 = lVar34;
        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&
           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {
          piVar25 = (int *)local_9c[2];
          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {
            iVar14 = local_9c[6];
            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);
            FUN_00032ba0(uVar16,iVar14);
            puStack_7c = (undefined4 *)local_9c[7];
            piVar25 = (int *)local_9c[2];
            uVar11 = puStack_7c[5];
          }
          iVar14 = piVar25[2];
          uVar16 = *(undefined4 *)(iVar14 + 0x1c);
          uVar18 = *(undefined4 *)(iVar14 + 0x20);
          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;
          puStack_7c[9] = uVar16;
          puStack_7c[10] = uVar18;
          puStack_7c[7] = uVar16;
          puStack_7c[8] = uVar18;
          lVar34 = local_34;
          if ((uVar11 & 0x800) == 0) {
            uVar16 = *(undefined4 *)(iVar14 + 0x30);
            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);
            puStack_7c[0xc] = uVar16;
          }
        }
        else {
          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {
            uStack_6c = 0;
            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);
            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);
            if (iStack_50 != 0 || uStack_54 != 0) {
              FUN_00032bf0("../../ld/ldlang.c",0x13e5);
              uStack_54 = 0;
              iStack_50 = 0;
            }
          }
          else {
            if (local_9c[0xb] == 0) {
              puVar20 = (undefined4 *)local_9c[8];
              uVar11 = puStack_7c[5];
              if (puVar20 == (undefined4 *)0x0) {
code_r0x0002315d:
                puVar20 = DAT_0009384c;
                if ((uVar11 & 0x19) == 1) {
                  uVar11 = uVar11 | 0x20;
                }
                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {
                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))
                  goto code_r0x000231b2;
                }
                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);
                puStack_7c = (undefined4 *)local_9c[7];
                lVar34 = local_34;
code_r0x000231b2:
                local_9c[8] = (int)puVar20;
              }
              else if ((uVar11 & 3) != 0) {
                bVar22 = *(byte *)*puVar20;
                bVar31 = bVar22 < 0x2a;
                bVar32 = bVar22 == 0x2a;
                if (bVar32) {
                  iVar14 = 10;
                  pbVar28 = (byte *)*puVar20;
                  pbVar30 = (byte *)"*default*";
                  do {
                    if (iVar14 == 0) break;
                    iVar14 = iVar14 + -1;
                    bVar31 = *pbVar28 < *pbVar30;
                    bVar32 = *pbVar28 == *pbVar30;
                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;
                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;
                  } while (bVar32);
                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;
                }
              }
              puVar7 = DAT_0009384c;
              local_34 = lVar34;
              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&
                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {
                bVar31 = false;
                bVar32 = param_6 == 0;
                if (!bVar32) {
                  iVar14 = 10;
                  pbVar28 = (byte *)*puVar20;
                  pbVar30 = (byte *)"*default*";
                  do {
                    if (iVar14 == 0) break;
                    iVar14 = iVar14 + -1;
                    bVar31 = *pbVar28 < *pbVar30;
                    bVar32 = *pbVar28 == *pbVar30;
                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;
                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;
                  } while (bVar32);
                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {
                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");
                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {
                      uVar16 = *puStack_7c;
                      if (DAT_00093d38 == '\0') {
                        pcVar17 = 
                        "%P: warning: no memory region specified for loadable section `%s\'\n";
                        ppuVar36 = extraout_ECX;
                      }
                      else {
                        pcVar17 = 
                        "%F%P: error: no memory region specified for loadable section `%s\'\n";
                        ppuVar36 = &__DT_PLTGOT;
                      }
                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);
                      FUN_00032ba0(uVar18,uVar16);
                      puStack_7c = (undefined4 *)local_9c[7];
                      puVar20 = (undefined4 *)local_9c[8];
                    }
                  }
                }
              }
              lVar34 = *(longlong *)(puVar20 + 9);
              uStack_6c = puStack_7c[0x16];
            }
            else {
              uStack_6c = local_9c[0x11];
            }
            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);
            uStack_64 = (uint)lVar34;
            if ((int)uStack_6c < 1) {
              uStack_54 = 0;
              iStack_50 = 0;
            }
            else {
              bVar31 = (uStack_6c & 0x20) == 0;
              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);
              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);
              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);
              uVar13 = -iVar14 & (uint)lVar34;
              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);
              uStack_54 = uVar13 - uStack_64;
              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);
              lVar34 = CONCAT44(uVar11,uVar13);
              if (((iStack_50 != 0 || uStack_54 != 0) &&
                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))
                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {
                iVar14 = local_9c[6];
                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",
                                    "%P: warning: changing start of section %s by %lu bytes\n",
                                    uStack_54,5);
                FUN_00032ba0(uVar16,iVar14,uStack_54);
                puStack_7c = (undefined4 *)local_9c[7];
                lVar34 = CONCAT44(uVar11,uVar13);
              }
            }
            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;
            *(longlong *)(puStack_7c + 9) = lVar34;
            *(longlong *)(puStack_7c + 7) = lVar34;
            puStack_7c[0x13] = 0;
            puStack_7c[0x14] = 0;
          }
          FUN_00021f80(lVar34,param_5,param_6);
          bVar22 = *(byte *)(local_9c + 0x15);
          puVar2 = (undefined *)local_9c[7];
          *(byte *)(local_9c + 0x15) = bVar22 | 1;
          if (puVar2 == puVar6 + 0x180) {
            uStack_80 = *(uint *)(puVar6 + 0x1b0);
            puStack_84 = *(undefined **)(puVar6 + 0x1ac);
code_r0x00022aad:
            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {
              FUN_00032bf0("../../ld/ldlang.c",0x1443);
            }
          }
          else {
            puStack_84 = *(undefined **)(puVar2 + 0x2c);
            uStack_80 = *(uint *)(puVar2 + 0x30);
            if ((bVar22 & 8) != 0) goto code_r0x00022aad;
            puVar1 = (uint *)(puVar2 + 0x1c);
            uVar11 = *puVar1;
            local_34 = *(longlong *)puVar1;
            if ((puVar2[0x15] & 8) == 0) {
              uVar13 = local_9c[0xf];
              uVar19 = (uVar11 + uVar13) - 1;
              bVar22 = (byte)DAT_0009386c;
              uVar27 = uStack_80 >> (bVar22 & 0x1f);
              uVar15 = uVar27;
              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);
              if ((DAT_0009386c & 0x20) != 0) {
                uVar15 = 0;
                uVar12 = uVar27;
              }
              uVar29 = uVar19 + uVar12 & -uVar13;
              uVar23 = uVar29 - uVar11;
              uVar26 = uVar23 << (bVar22 & 0x1f);
              uVar27 = uVar26;
              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +
                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &
                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)
                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);
              if ((DAT_0009386c & 0x20) != 0) {
                uVar27 = 0;
                uVar11 = uVar26;
              }
              *(uint *)(puVar2 + 0x30) = uVar11;
              *(uint *)(puVar2 + 0x2c) = uVar27;
              local_34 = *(longlong *)puVar1;
            }
          }
          uStack_64 = local_9c[8];
          lVar34 = local_34;
          if (uStack_64 == 0) {
            uStack_64 = FUN_00021e10("*default*",0);
            lVar34 = local_34;
          }
          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);
          local_34._0_4_ = (uint)lVar34;
          local_34 = lVar34;
          if (local_9c[0xc] == 0) {
            puStack_84 = (undefined *)local_9c[7];
            iVar14 = local_9c[9];
            uVar11 = *(uint *)(puStack_84 + 0x14);
            puStack_7c = (undefined4 *)(uVar11 & 1);
            if (iVar14 != 0) {
              uStack_4c = *(uint *)(iVar14 + 0x24);
              uStack_48 = *(uint *)(iVar14 + 0x28);
              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {
                if (iVar14 != local_9c[8]) {
                  uStack_6c = local_9c[0x11];
                }
                if (0 < (int)uStack_6c) {
                  bVar22 = (byte)uStack_6c & 0x1f;
                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);
                  uVar12 = uVar15;
                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;
                  if ((uStack_6c & 0x20) != 0) {
                    uVar12 = 0;
                    uVar13 = uVar15;
                  }
                  bVar31 = uStack_4c != 0;
                  uVar15 = uStack_4c - 1;
                  uStack_4c = uVar15 + uVar12 & -uVar12;
                  uStack_48 = -(uVar13 + (uVar12 != 0)) &
                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);
                }
              }
              else {
                bVar31 = CARRY4(uStack_4c,uStack_54);
                uStack_4c = uStack_4c + uStack_54;
                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;
              }
              *(uint *)(puStack_84 + 0x24) = uStack_4c;
              *(uint *)(puStack_84 + 0x28) = uStack_48;
              goto code_r0x0002263c;
            }
            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;
            if (puStack_7c != (undefined4 *)0x0) {
              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);
              uVar13 = *(uint *)(iVar14 + 0x1c);
              uVar12 = *(uint *)(iVar14 + 0x20);
              uVar15 = *(uint *)(iVar14 + 0x24);
              bVar22 = (byte)DAT_0009386c;
              if (local_34._4_4_ < uVar12 ||
                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {
                uVar19 = *(uint *)(puStack_84 + 0x30);
                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;
                uVar26 = uVar19 >> (bVar22 & 0x1f);
                uVar27 = uVar26;
                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |
                         uVar19 << 0x20 - (bVar22 & 0x1f);
                if ((DAT_0009386c & 0x20) != 0) {
                  uVar27 = 0;
                  uVar19 = uVar26;
                }
                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);
                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);
                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))
                goto code_r0x000231ba;
                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {
                  iVar14 = local_9c[6];
                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);
                  FUN_00032ba0(uVar16,iVar14);
                  puStack_84 = (undefined *)local_9c[7];
                  uVar11 = *(uint *)(puStack_84 + 0x14);
                  puStack_7c = (undefined4 *)(uVar11 & 1);
                  lVar34 = local_34;
                  goto code_r0x0002263c;
                }
              }
              else {
code_r0x000231ba:
                if (local_9c[0x14] == 1) {
                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);
                  uVar12 = uVar19;
                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |
                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);
                  if ((DAT_0009386c & 0x20) != 0) {
                    uVar12 = 0;
                    uVar13 = uVar19;
                  }
                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),
                                   uVar13 + uVar15);
                }
                else {
                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);
                }
                if (0 < (int)uStack_6c) {
                  bVar22 = (byte)uStack_6c & 0x1f;
                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);
                  uVar12 = uVar15;
                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;
                  if ((uStack_6c & 0x20) != 0) {
                    uVar12 = 0;
                    uVar13 = uVar15;
                  }
                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);
                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),
                                   (uint)lVar3 & -uVar12);
                }
                *(longlong *)(puStack_84 + 0x24) = lVar3;
              }
              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;
              goto code_r0x00022648;
            }
            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;
          }
          else {
            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");
            puStack_84 = (undefined *)local_9c[7];
            uVar11 = *(uint *)(puStack_84 + 0x14);
            *(undefined8 *)(puStack_84 + 0x24) = uVar35;
            puStack_7c = (undefined4 *)(uVar11 & 1);
            lVar34 = local_34;
code_r0x0002263c:
            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;
            if (puStack_7c != (undefined4 *)0x0) {
code_r0x00022648:
              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);
              local_34._0_4_ = (uint)lVar34;
              if ((uVar11 & 0x402) != 0x400) {
                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {
                  if (*(int *)(uStack_64 + 0x2c) == 0) {
                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||
                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))
                    goto code_r0x00022a68;
                  }
                  else {
                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);
                    uVar13 = *(uint *)(iVar14 + 0x20);
                    if (uVar13 <= local_34._4_4_ &&
                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13
                       ) goto code_r0x00022a68;
                  }
                }
                else {
code_r0x00022a68:
                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {
                    *(int **)(uStack_64 + 0x2c) = local_9c;
                  }
                }
              }
            }
          }
          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {
            if ((uVar11 & 0x402) == 0x400) {
              puStack_7c = (undefined4 *)0x0;
              uStack_78 = 0;
              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;
            }
            else {
code_r0x000226bf:
              bVar22 = (byte)DAT_0009386c & 0x1f;
              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);
              puStack_7c = (undefined4 *)
                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |
                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);
              uStack_78 = uVar11;
              if ((DAT_0009386c & 0x20) != 0) {
                uStack_78 = 0;
                puStack_7c = (undefined4 *)uVar11;
              }
            }
            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);
            if (local_9c[0xd] != 0) {
              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);
            }
            lVar34 = local_34;
            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {
              *(longlong *)(local_9c[8] + 0x24) = local_34;
              if (param_6 != 0) {
                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));
              }
              iVar14 = local_9c[9];
              lVar34 = local_34;
              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&
                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||
                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {
                uVar11 = *(uint *)(iVar10 + 0x24);
                iVar10 = *(int *)(iVar10 + 0x28);
                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;
                *(uint *)(iVar14 + 0x28) =
                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);
                if (param_6 != 0) {
                  FUN_0001f1f0(uVar11,iVar10);
                  lVar34 = local_34;
                }
              }
            }
          }
        }
      }
    }
    break;
  case 1:
    iVar14 = local_9c[2];
    iRam00093e8c = 0;
    uStack_24 = lVar34;
    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);
    piVar25 = DAT_00093e90;
    piVar8 = DAT_00093e94;
    lVar34 = local_34;
    if (iRam00093e8c == 1) {
      piVar25 = local_9c;
      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {
        uVar16 = 0x137c;
        goto code_r0x0002296b;
      }
    }
    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&
            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {
      uVar16 = 0x1385;
code_r0x0002296b:
      FUN_00032bf0("../../ld/ldlang.c",uVar16);
      piVar25 = DAT_00093e90;
      piVar8 = DAT_00093e94;
      lVar34 = local_34;
    }
    DAT_00093e94 = piVar8;
    DAT_00093e90 = piVar25;
    iRam00093e8c = 0;
    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&
       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {
      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;
    }
    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {
      local_34 = lVar34;
      if (DAT_00093c2c == param_2) {
        iVar14 = FUN_00021e10("*default*",0);
        *(longlong *)(iVar14 + 0x24) = uStack_24;
        lVar34 = uStack_24;
      }
      else if (lVar34 != uStack_24) {
        uVar11 = (uint)(uStack_24 - lVar34);
        bVar22 = (byte)DAT_0009386c & 0x1f;
        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);
        uVar13 = uVar12;
        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;
        if ((DAT_0009386c & 0x20) != 0) {
          uVar13 = 0;
          uVar11 = uVar12;
        }
        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);
        local_9c = (int *)*local_9c;
        lVar34 = uStack_24;
        if ((*(int *)(param_2 + 0x50) != 3) &&
           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {
          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);
          *puVar1 = *puVar1 | 1;
        }
      }
    }
    break;
  case 2:
  case 3:
  case 10:
  case 0xb:
  case 0xe:
    goto code_r0x0002200c;
  case 4:
    goto code_r0x00022351;
  case 5:
    if (param_5 != (undefined4 *)0x0) {
      iVar14 = *(int *)(local_9c[2] + 0xac);
      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))
                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);
      lVar34 = local_34;
      if (iVar14 == 0) {
        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);
        FUN_00032ba0(uVar16);
        lVar34 = local_34;
      }
      if ((int)uStack_24 != 0) {
        *param_5 = 1;
      }
    }
    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);
    local_34._0_4_ = (uint)lVar34;
    iVar14 = *(int *)(*param_1 + 8);
    iVar10 = *(int *)(param_2 + 0x1c);
    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {
      uVar11 = *(uint *)(iVar10 + 0x1c);
      *(uint *)(iVar14 + 0x50) =
           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -
           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));
      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;
    }
    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {
      uVar11 = *(uint *)(param_2 + 0x40);
      if (uVar11 == 0xffffffff) {
        uVar11 = *(uint *)(iVar14 + 0x58);
      }
      else {
        *(uint *)(iVar14 + 0x58) = uVar11;
      }
      if (*(uint *)(iVar10 + 0x58) < uVar11) {
        *(uint *)(iVar10 + 0x58) = uVar11;
        uVar11 = *(uint *)(iVar14 + 0x58);
      }
      bVar22 = (byte)uVar11 & 0x1f;
      uVar15 = 1 << ((byte)uVar11 & 0x1f);
      uVar13 = uVar15;
      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;
      if ((uVar11 & 0x20) != 0) {
        uVar13 = 0;
        uVar12 = uVar15;
      }
      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);
      uVar15 = (uint)lVar3 & -uVar13;
      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);
      uVar11 = uVar15 - (uint)local_34;
      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);
      lVar3 = lVar34;
      if (iVar24 != 0 || uVar11 != 0) {
        puStack_7c._0_1_ = (byte)DAT_0009386c;
        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);
        uVar12 = uVar19;
        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);
        if ((DAT_0009386c & 0x20) != 0) {
          uVar12 = 0;
          uVar11 = uVar19;
        }
        local_34 = lVar34;
        FUN_00021870(uVar12,uVar11,iVar10,lVar34);
        lVar3 = CONCAT44(uVar13,uVar15);
      }
      uVar13 = DAT_0009386c;
      lVar5 = *(longlong *)(iVar10 + 0x1c);
      puStack_7c._0_1_ = (byte)DAT_0009386c;
      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;
      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);
      uVar12 = uVar15;
      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |
               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);
      if ((uVar13 & 0x20) != 0) {
        uVar12 = 0;
        uVar11 = uVar15;
      }
      lVar4 = CONCAT44(uVar12,uVar11);
      lVar34 = lVar3 + lVar4;
      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {
        lVar5 = (lVar3 + lVar4) - lVar5;
        uVar11 = (uint)lVar5;
        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);
        uVar12 = uVar15;
        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |
                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);
        if ((uVar13 & 0x20) != 0) {
          uVar12 = 0;
          uVar11 = uVar15;
        }
        *(uint *)(iVar10 + 0x30) = uVar11;
        *(uint *)(iVar10 + 0x2c) = uVar12;
        lVar34 = lVar3 + lVar4;
      }
    }
    else {
      uVar11 = *(uint *)(iVar10 + 0x1c);
      *(uint *)(iVar14 + 0x50) =
           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -
           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));
      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;
    }
    break;
  case 6:
    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);
    goto code_r0x0002200c;
  case 7:
    local_9c[4] = *(int *)(param_2 + 0x1c);
    break;
  case 8:
    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);
    uVar11 = *puVar1;
    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);
    local_9c[7] = (uint)local_34 - *puVar1;
    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);
    local_9c[6] = *(int *)(param_2 + 0x1c);
    FUN_000308d0(local_9c[3],puVar9,&local_34);
    if (4 < local_9c[2] - 0x11aU) {
                    /* WARNING: Subroutine does not return */
      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);
    }
    iVar14 = *(int *)(param_2 + 0x1c);
    bVar21 = (byte)DAT_0009386c;
    uVar11 = 1 << (bVar21 & 0x1f);
    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {
      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);
    }
    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));
    bVar22 = *(byte *)(iVar14 + 0x15);
    lVar3 = lVar34;
    goto joined_r0x00022089;
  case 9:
    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);
    uVar11 = *puVar1;
    local_9c[0xb] =
         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -
         (uint)((uint)local_34 < *puVar1);
    local_9c[10] = (uint)local_34 - uVar11;
    local_9c[9] = *(int *)(param_2 + 0x1c);
    iVar10 = bfd_get_reloc_size(local_9c[3]);
    iVar14 = *(int *)(param_2 + 0x1c);
    bVar21 = (byte)DAT_0009386c;
    iVar10 = iVar10 >> (bVar21 & 0x1f);
    lVar34 = local_34 + iVar10;
    bVar22 = *(byte *)(iVar14 + 0x15);
    lVar3 = local_34 + iVar10;
joined_r0x00022089:
    if ((bVar22 & 8) == 0) {
      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);
      uVar12 = uVar11 << (bVar21 & 0x1f);
      uVar13 = uVar12;
      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -
               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |
               uVar11 >> 0x20 - (bVar21 & 0x1f);
      if ((bVar21 & 0x20) != 0) {
        uVar13 = 0;
        uVar11 = uVar12;
      }
      *(uint *)(iVar14 + 0x30) = uVar11;
      *(uint *)(iVar14 + 0x2c) = uVar13;
      lVar34 = lVar3;
    }
    break;
  case 0xc:
    local_9c[4] = 0;
    local_9c[5] = 0;
    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);
    uVar11 = *puVar1;
    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -
                  (uint)((uint)local_34 < *puVar1);
    local_9c[2] = (uint)local_34 - uVar11;
    break;
  case 0xd:
    goto code_r0x00022351;
  case 0xf:
code_r0x00022351:
    lVar34 = FUN_00021f80(lVar34,param_5,param_6);
    break;
  default:
    FUN_00032bf0("../../ld/ldlang.c",0x15a7);
    lVar34 = local_34;
  }
LAB_00022010:
  piVar25 = (int *)*local_9c;
  param_1 = local_9c;
  goto joined_r0x00021fcf;
code_r0x0002200c:
  goto LAB_00022010;
}


PUSH EBP
PUSH EDI
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00015a30
ADD EBX,0x71075
SUB ESP,0x8c
MOV EBP,dword ptr [ESI]
MOV dword ptr [ESP],EAX
MOV EAX,dword ptr [ESP + 0xa0]
MOV dword ptr [ESP + 0xc],EDX
MOV dword ptr [ESP + 0x68],EAX
MOV EAX,dword ptr [ESP + 0xa4]
MOV dword ptr [ESP + 0x8],EBX
MOV dword ptr [ESP + 0x6c],EAX
MOV EAX,dword ptr [EBX + 0xffffffb4]
MOV dword ptr [ESP + 0x10],ECX
ADD EAX,0x180
MOV dword ptr [ESP + 0x14],EAX
TEST EBP,EBP
JZ 0x00022017
LEA ESI,[ESI]
CMP dword ptr [EBP + 0x4],0xf
JA 0x000228f8
MOV EDI,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EBP + 0x4]
MOV ESI,dword ptr [EDI + EAX*0x4 + 0xfffbaa24]
ADD ESI,EDI
JMP ESI
MOV EBP,dword ptr [EBP]
TEST EBP,EBP
JNZ 0x00021fd8
MOV EAX,dword ptr [ESP + 0x68]
MOV EDX,dword ptr [ESP + 0x6c]
ADD ESP,0x8c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH 0x15a7
MOV EBX,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xfffbad02]
PUSH EAX
CALL 0x00032bf0
MOV dword ptr [ESP + 0x10],EBP
ADD ESP,0x10
JMP 0x00022010
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nlonglong __regparm2\nFUN_00021f80(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  longlong lVar3;\n  longlong lVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  char *pcVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  byte bVar21;\n  byte bVar22;\n  uint uVar23;\n  undefined **extraout_ECX;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  byte bVar33;\n  longlong lVar34;\n  undefined8 uVar35;\n  undefined **ppuVar36;\n  int *local_9c;\n  undefined *puStack_84;\n  uint uStack_80;\n  undefined4 *puStack_7c;\n  uint uStack_78;\n  uint uStack_6c;\n  uint uStack_64;\n  int iStack_60;\n  uint uStack_54;\n  int iStack_50;\n  uint uStack_4c;\n  uint uStack_48;\n  undefined8 local_34;\n  undefined8 uStack_24;\n  undefined4 uStack_14;\n  \n  bVar33 = 0;\n  uStack_14 = 0x21f8b;\n  lVar34 = CONCAT44(param_4,param_3);\n  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;\n  piVar25 = (int *)*param_1;\njoined_r0x00021fcf:\n  local_9c = piVar25;\n  if (local_9c == (int *)0x0) {\n    return lVar34;\n  }\n  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n  local_34._0_4_ = (uint)lVar34;\n  local_34 = lVar34;\n  switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }\nLAB_00022010:\n  piVar25 = (int *)*local_9c;\n  param_1 = local_9c;\n  goto joined_r0x00021fcf;\ncode_r0x0002200c:\n  goto LAB_00022010;\n}\n\n" comment (function_definition "longlong __regparm2\nFUN_00021f80(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  longlong lVar3;\n  longlong lVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  char *pcVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  byte bVar21;\n  byte bVar22;\n  uint uVar23;\n  undefined **extraout_ECX;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  byte bVar33;\n  longlong lVar34;\n  undefined8 uVar35;\n  undefined **ppuVar36;\n  int *local_9c;\n  undefined *puStack_84;\n  uint uStack_80;\n  undefined4 *puStack_7c;\n  uint uStack_78;\n  uint uStack_6c;\n  uint uStack_64;\n  int iStack_60;\n  uint uStack_54;\n  int iStack_50;\n  uint uStack_4c;\n  uint uStack_48;\n  undefined8 local_34;\n  undefined8 uStack_24;\n  undefined4 uStack_14;\n  \n  bVar33 = 0;\n  uStack_14 = 0x21f8b;\n  lVar34 = CONCAT44(param_4,param_3);\n  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;\n  piVar25 = (int *)*param_1;\njoined_r0x00021fcf:\n  local_9c = piVar25;\n  if (local_9c == (int *)0x0) {\n    return lVar34;\n  }\n  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n  local_34._0_4_ = (uint)lVar34;\n  local_34 = lVar34;\n  switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }\nLAB_00022010:\n  piVar25 = (int *)*local_9c;\n  param_1 = local_9c;\n  goto joined_r0x00021fcf;\ncode_r0x0002200c:\n  goto LAB_00022010;\n}" type_identifier (ERROR "__regparm2" identifier) (function_declarator "FUN_00021f80(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)" identifier (parameter_list "(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  longlong lVar3;\n  longlong lVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  char *pcVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  byte bVar21;\n  byte bVar22;\n  uint uVar23;\n  undefined **extraout_ECX;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  byte bVar33;\n  longlong lVar34;\n  undefined8 uVar35;\n  undefined **ppuVar36;\n  int *local_9c;\n  undefined *puStack_84;\n  uint uStack_80;\n  undefined4 *puStack_7c;\n  uint uStack_78;\n  uint uStack_6c;\n  uint uStack_64;\n  int iStack_60;\n  uint uStack_54;\n  int iStack_50;\n  uint uStack_4c;\n  uint uStack_48;\n  undefined8 local_34;\n  undefined8 uStack_24;\n  undefined4 uStack_14;\n  \n  bVar33 = 0;\n  uStack_14 = 0x21f8b;\n  lVar34 = CONCAT44(param_4,param_3);\n  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;\n  piVar25 = (int *)*param_1;\njoined_r0x00021fcf:\n  local_9c = piVar25;\n  if (local_9c == (int *)0x0) {\n    return lVar34;\n  }\n  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n  local_34._0_4_ = (uint)lVar34;\n  local_34 = lVar34;\n  switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }\nLAB_00022010:\n  piVar25 = (int *)*local_9c;\n  param_1 = local_9c;\n  goto joined_r0x00021fcf;\ncode_r0x0002200c:\n  goto LAB_00022010;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "longlong lVar3;" type_identifier identifier ;) (declaration "longlong lVar4;" type_identifier identifier ;) (declaration "longlong lVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "undefined **extraout_ECX;" type_identifier (pointer_declarator "**extraout_ECX" * (pointer_declarator "*extraout_ECX" * identifier)) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "byte bVar33;" type_identifier identifier ;) (declaration "longlong lVar34;" type_identifier identifier ;) (declaration "undefined8 uVar35;" type_identifier identifier ;) (declaration "undefined **ppuVar36;" type_identifier (pointer_declarator "**ppuVar36" * (pointer_declarator "*ppuVar36" * identifier)) ;) (declaration "int *local_9c;" primitive_type (pointer_declarator "*local_9c" * identifier) ;) (declaration "undefined *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "uint uStack_80;" type_identifier identifier ;) (declaration "undefined4 *puStack_7c;" type_identifier (pointer_declarator "*puStack_7c" * identifier) ;) (declaration "uint uStack_78;" type_identifier identifier ;) (declaration "uint uStack_6c;" type_identifier identifier ;) (declaration "uint uStack_64;" type_identifier identifier ;) (declaration "int iStack_60;" primitive_type identifier ;) (declaration "uint uStack_54;" type_identifier identifier ;) (declaration "int iStack_50;" primitive_type identifier ;) (declaration "uint uStack_4c;" type_identifier identifier ;) (declaration "uint uStack_48;" type_identifier identifier ;) (declaration "undefined8 local_34;" type_identifier identifier ;) (declaration "undefined8 uStack_24;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar33 = 0;" (assignment_expression "bVar33 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x21f8b;" (assignment_expression "uStack_14 = 0x21f8b" identifier = number_literal) ;) (expression_statement "lVar34 = CONCAT44(param_4,param_3);" (assignment_expression "lVar34 = CONCAT44(param_4,param_3)" identifier = (call_expression "CONCAT44(param_4,param_3)" identifier (argument_list "(param_4,param_3)" ( identifier , identifier )))) ;) (expression_statement "puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;" (assignment_expression "puVar9 = PTR__bfd_std_section_00092fb4 + 0x180" identifier = (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" identifier + number_literal)) ;) (expression_statement "piVar25 = (int *)*param_1;" (assignment_expression "piVar25 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (labeled_statement "joined_r0x00021fcf:\n  local_9c = piVar25;" statement_identifier : (expression_statement "local_9c = piVar25;" (assignment_expression "local_9c = piVar25" identifier = identifier) ;)) (if_statement "if (local_9c == (int *)0x0) {\n    return lVar34;\n  }" if (parenthesized_expression "(local_9c == (int *)0x0)" ( (binary_expression "local_9c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return lVar34;\n  }" { (return_statement "return lVar34;" return identifier ;) })) (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (switch_statement "switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }" switch (parenthesized_expression "(local_9c[1])" ( (subscript_expression "local_9c[1]" identifier [ number_literal ]) )) (compound_statement "{\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }" { (case_statement "case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;" case number_literal : (if_statement "if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(local_9c[0x12] != -1)" ( (binary_expression "local_9c[0x12] != -1" (subscript_expression "local_9c[0x12]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar14 = local_9c[0xb];" (assignment_expression "iVar14 = local_9c[0xb]" identifier = (subscript_expression "local_9c[0xb]" identifier [ number_literal ])) ;) (if_statement "if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }" { (if_statement "if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }" if (parenthesized_expression "(((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2))" ( (binary_expression "((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)" (parenthesized_expression "((DAT_00093c80 & 3) == 2)" ( (binary_expression "(DAT_00093c80 & 3) == 2" (parenthesized_expression "(DAT_00093c80 & 3)" ( (binary_expression "DAT_00093c80 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)" ( (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2" (pointer_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00093cb4 + 4) + 4)" ( (binary_expression "*(int *)(DAT_00093cb4 + 4) + 4" (pointer_expression "*(int *)(DAT_00093cb4 + 4)" * (cast_expression "(int *)(DAT_00093cb4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093cb4 + 4)" ( (binary_expression "DAT_00093cb4 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }" { (expression_statement "iVar14 = FUN_000307b0(0,0);" (assignment_expression "iVar14 = FUN_000307b0(0,0)" identifier = (call_expression "FUN_000307b0(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal )))) ;) (expression_statement "local_9c[0xb] = iVar14;" (assignment_expression "local_9c[0xb] = iVar14" (subscript_expression "local_9c[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (iVar14 != 0) goto code_r0x00022390;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00022390;" goto statement_identifier ;)) })) }) (else_clause "else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }" else (compound_statement "{\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }" { (labeled_statement "code_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;" statement_identifier : (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_9c + 0x15) & 0xfe" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal)) ;)) (expression_statement "FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);" (call_expression "FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34)" identifier (argument_list "(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34)" ( identifier , (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" identifier + number_literal) , (pointer_expression "&local_34" & identifier) ))) ;) (if_statement "if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }" if (parenthesized_expression "(DAT_00093e44 == 0)" ( (binary_expression "DAT_00093e44 == 0" identifier == number_literal) )) (compound_statement "{\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }" { (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }" if (parenthesized_expression "(DAT_00093e20 != 1)" ( (binary_expression "DAT_00093e20 != 1" identifier != number_literal) )) (compound_statement "{\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }" { (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" identifier = (subscript_expression "local_9c[6]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = local_9c[0xb];" (assignment_expression "iVar10 = local_9c[0xb]" identifier = (subscript_expression "local_9c[0xb]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);" (assignment_expression "uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5)" identifier = (call_expression "dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5)" identifier (argument_list "(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5)" ( number_literal , (string_literal ""%F%P:%pS: non constant or forward reference address expression for section %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032ba0(uVar16,iVar10,iVar14);" (call_expression "FUN_00032ba0(uVar16,iVar10,iVar14)" identifier (argument_list "(uVar16,iVar10,iVar14)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })) }) (else_clause "else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }" else (compound_statement "{\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }" { (expression_statement "lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);" (assignment_expression "lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34)" identifier = (call_expression "CONCAT44(DAT_00093e38,DAT_00093e34)" identifier (argument_list "(DAT_00093e38,DAT_00093e34)" ( identifier , identifier )))) ;) (if_statement "if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }" if (parenthesized_expression "(DAT_00093e40 != 0)" ( (binary_expression "DAT_00093e40 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }" { (expression_statement "lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));" (assignment_expression "lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c))" identifier = (call_expression "CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c))" identifier (argument_list "(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c))" ( (binary_expression "DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" (binary_expression "DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20)" identifier + (pointer_expression "*(int *)(DAT_00093e40 + 0x20)" * (cast_expression "(int *)(DAT_00093e40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093e40 + 0x20)" ( (binary_expression "DAT_00093e40 + 0x20" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" identifier (argument_list "(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" ( identifier , (pointer_expression "*(uint *)(DAT_00093e40 + 0x1c)" * (cast_expression "(uint *)(DAT_00093e40 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093e40 + 0x1c)" ( (binary_expression "DAT_00093e40 + 0x1c" identifier + number_literal) )))) ))))) , (binary_expression "DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c)" identifier + (pointer_expression "*(uint *)(DAT_00093e40 + 0x1c)" * (cast_expression "(uint *)(DAT_00093e40 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093e40 + 0x1c)" ( (binary_expression "DAT_00093e40 + 0x1c" identifier + number_literal) ))))) )))) ;) })) }))) }))) (expression_statement "puVar6 = PTR__bfd_std_section_00092fb4;" (assignment_expression "puVar6 = PTR__bfd_std_section_00092fb4" identifier = identifier) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (if_statement "if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(puStack_7c != (undefined4 *)0x0)" ( (binary_expression "puStack_7c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (if_statement "if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0))" ( (binary_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)" (parenthesized_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2)" ( (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2" (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U" (pointer_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00093cb4 + 4) + 4)" ( (binary_expression "*(int *)(DAT_00093cb4 + 4) + 4" (pointer_expression "*(int *)(DAT_00093cb4 + 4)" * (cast_expression "(int *)(DAT_00093cb4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093cb4 + 4)" ( (binary_expression "DAT_00093cb4 + 4" identifier + number_literal) )))) + number_literal) )))) - number_literal) < number_literal) )) && (parenthesized_expression "(uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)" ( (comma_expression "uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0" (assignment_expression "uVar11 = puStack_7c[5]" identifier = (subscript_expression "puStack_7c[5]" identifier [ number_literal ])) , (binary_expression "(uVar11 & 0x4000000) != 0" (parenthesized_expression "(uVar11 & 0x4000000)" ( (binary_expression "uVar11 & 0x4000000" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }" { (expression_statement "piVar25 = (int *)local_9c[2];" (assignment_expression "piVar25 = (int *)local_9c[2]" identifier = (cast_expression "(int *)local_9c[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[2]" identifier [ number_literal ]))) ;) (if_statement "if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }" if (parenthesized_expression "(((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5))" ( (binary_expression "((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)" (parenthesized_expression "((piVar25 == (int *)0x0) || (*piVar25 != 0))" ( (binary_expression "(piVar25 == (int *)0x0) || (*piVar25 != 0)" (parenthesized_expression "(piVar25 == (int *)0x0)" ( (binary_expression "piVar25 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar25 != 0)" ( (binary_expression "*piVar25 != 0" (pointer_expression "*piVar25" * identifier) != number_literal) ))) )) || (parenthesized_expression "(piVar25[1] != 5)" ( (binary_expression "piVar25[1] != 5" (subscript_expression "piVar25[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }" { (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" identifier = (subscript_expression "local_9c[6]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);" (assignment_expression "uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5)" identifier (argument_list "(0,"%X%P: internal error on COFF shared library section %s\n",5)" ( number_literal , (string_literal ""%X%P: internal error on COFF shared library section %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032ba0(uVar16,iVar14);" (call_expression "FUN_00032ba0(uVar16,iVar14)" identifier (argument_list "(uVar16,iVar14)" ( identifier , identifier ))) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "piVar25 = (int *)local_9c[2];" (assignment_expression "piVar25 = (int *)local_9c[2]" identifier = (cast_expression "(int *)local_9c[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = puStack_7c[5];" (assignment_expression "uVar11 = puStack_7c[5]" identifier = (subscript_expression "puStack_7c[5]" identifier [ number_literal ])) ;) })) (expression_statement "iVar14 = piVar25[2];" (assignment_expression "iVar14 = piVar25[2]" identifier = (subscript_expression "piVar25[2]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar14 + 0x1c);" (assignment_expression "uVar16 = *(undefined4 *)(iVar14 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x1c)" * (cast_expression "(undefined4 *)(iVar14 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)(iVar14 + 0x20);" (assignment_expression "uVar18 = *(undefined4 *)(iVar14 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x20)" * (cast_expression "(undefined4 *)(iVar14 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;" (assignment_expression "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" * (cast_expression "(byte *)(puStack_7c + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 6)" ( (binary_expression "puStack_7c + 6" identifier + number_literal) )))) = (binary_expression "*(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" * (cast_expression "(byte *)(puStack_7c + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 6)" ( (binary_expression "puStack_7c + 6" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "puStack_7c[9] = uVar16;" (assignment_expression "puStack_7c[9] = uVar16" (subscript_expression "puStack_7c[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_7c[10] = uVar18;" (assignment_expression "puStack_7c[10] = uVar18" (subscript_expression "puStack_7c[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_7c[7] = uVar16;" (assignment_expression "puStack_7c[7] = uVar16" (subscript_expression "puStack_7c[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_7c[8] = uVar18;" (assignment_expression "puStack_7c[8] = uVar18" (subscript_expression "puStack_7c[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }" if (parenthesized_expression "((uVar11 & 0x800) == 0)" ( (binary_expression "(uVar11 & 0x800) == 0" (parenthesized_expression "(uVar11 & 0x800)" ( (binary_expression "uVar11 & 0x800" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }" { (expression_statement "uVar16 = *(undefined4 *)(iVar14 + 0x30);" (assignment_expression "uVar16 = *(undefined4 *)(iVar14 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x30)" * (cast_expression "(undefined4 *)(iVar14 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);" (assignment_expression "puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c)" (subscript_expression "puStack_7c[0xb]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar14 + 0x2c)" * (cast_expression "(undefined4 *)(iVar14 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c[0xc] = uVar16;" (assignment_expression "puStack_7c[0xc] = uVar16" (subscript_expression "puStack_7c[0xc]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }" else (compound_statement "{\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }" { (if_statement "if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }" if (parenthesized_expression "(puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180))" ( (binary_expression "puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" identifier + number_literal) )))) )) (compound_statement "{\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }" { (expression_statement "uStack_6c = 0;" (assignment_expression "uStack_6c = 0" identifier = number_literal) ;) (expression_statement "iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);" (assignment_expression "iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" identifier = (pointer_expression "*(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" * (cast_expression "(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x1a0)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x1a0" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);" (assignment_expression "uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" identifier = (pointer_expression "*(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" * (cast_expression "(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x19c)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x19c" identifier + number_literal) ))))) ;) (if_statement "if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }" if (parenthesized_expression "(iStack_50 != 0 || uStack_54 != 0)" ( (binary_expression "iStack_50 != 0 || uStack_54 != 0" (binary_expression "iStack_50 != 0" identifier != number_literal) || (binary_expression "uStack_54 != 0" identifier != number_literal)) )) (compound_statement "{\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }" { (expression_statement "FUN_00032bf0("../../ld/ldlang.c",0x13e5);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",0x13e5)" identifier (argument_list "("../../ld/ldlang.c",0x13e5)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) (expression_statement "uStack_54 = 0;" (assignment_expression "uStack_54 = 0" identifier = number_literal) ;) (expression_statement "iStack_50 = 0;" (assignment_expression "iStack_50 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }" else (compound_statement "{\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }" { (if_statement "if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }" if (parenthesized_expression "(local_9c[0xb] == 0)" ( (binary_expression "local_9c[0xb] == 0" (subscript_expression "local_9c[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }" { (expression_statement "puVar20 = (undefined4 *)local_9c[8];" (assignment_expression "puVar20 = (undefined4 *)local_9c[8]" identifier = (cast_expression "(undefined4 *)local_9c[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[8]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = puStack_7c[5];" (assignment_expression "uVar11 = puStack_7c[5]" identifier = (subscript_expression "puStack_7c[5]" identifier [ number_literal ])) ;) (if_statement "if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" if (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" ( (binary_expression "puVar20 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }" { (labeled_statement "code_r0x0002315d:\n                puVar20 = DAT_0009384c;" statement_identifier : (expression_statement "puVar20 = DAT_0009384c;" (assignment_expression "puVar20 = DAT_0009384c" identifier = identifier) ;)) (if_statement "if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }" if (parenthesized_expression "((uVar11 & 0x19) == 1)" ( (binary_expression "(uVar11 & 0x19) == 1" (parenthesized_expression "(uVar11 & 0x19)" ( (binary_expression "uVar11 & 0x19" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  uVar11 = uVar11 | 0x20;\n                }" { (expression_statement "uVar11 = uVar11 | 0x20;" (assignment_expression "uVar11 = uVar11 | 0x20" identifier = (binary_expression "uVar11 | 0x20" identifier | number_literal)) ;) })) (for_statement "for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }" for ( ; (binary_expression "puVar20 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar20 = (undefined4 *)puVar20[2]" identifier = (cast_expression "(undefined4 *)puVar20[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[2]" identifier [ number_literal ]))) ) (compound_statement "{\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }" { (if_statement "if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;" if (parenthesized_expression "(((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))" ( (binary_expression "((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0)" (parenthesized_expression "((puVar20[0xc] & uVar11) != 0)" ( (binary_expression "(puVar20[0xc] & uVar11) != 0" (parenthesized_expression "(puVar20[0xc] & uVar11)" ( (binary_expression "puVar20[0xc] & uVar11" (subscript_expression "puVar20[0xc]" identifier [ number_literal ]) & identifier) )) != number_literal) )) && (parenthesized_expression "((puVar20[0xd] & uVar11) == 0)" ( (binary_expression "(puVar20[0xd] & uVar11) == 0" (parenthesized_expression "(puVar20[0xd] & uVar11)" ( (binary_expression "puVar20[0xd] & uVar11" (subscript_expression "puVar20[0xd]" identifier [ number_literal ]) & identifier) )) == number_literal) ))) )) (goto_statement "goto code_r0x000231b2;" goto statement_identifier ;)) })) (expression_statement "puVar20 = (undefined4 *)FUN_00021e10("*default*",0);" (assignment_expression "puVar20 = (undefined4 *)FUN_00021e10("*default*",0)" identifier = (cast_expression "(undefined4 *)FUN_00021e10("*default*",0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00021e10("*default*",0)" identifier (argument_list "("*default*",0)" ( (string_literal ""*default*"" " string_content ") , number_literal ))))) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (labeled_statement "code_r0x000231b2:\n                local_9c[8] = (int)puVar20;" statement_identifier : (expression_statement "local_9c[8] = (int)puVar20;" (assignment_expression "local_9c[8] = (int)puVar20" (subscript_expression "local_9c[8]" identifier [ number_literal ]) = (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) }) (else_clause "else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" else (if_statement "if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" if (parenthesized_expression "((uVar11 & 3) != 0)" ( (binary_expression "(uVar11 & 3) != 0" (parenthesized_expression "(uVar11 & 3)" ( (binary_expression "uVar11 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" { (expression_statement "bVar22 = *(byte *)*puVar20;" (assignment_expression "bVar22 = *(byte *)*puVar20" identifier = (pointer_expression "*(byte *)*puVar20" * (cast_expression "(byte *)*puVar20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier)))) ;) (expression_statement "bVar31 = bVar22 < 0x2a;" (assignment_expression "bVar31 = bVar22 < 0x2a" identifier = (binary_expression "bVar22 < 0x2a" identifier < number_literal)) ;) (expression_statement "bVar32 = bVar22 == 0x2a;" (assignment_expression "bVar32 = bVar22 == 0x2a" identifier = (binary_expression "bVar22 == 0x2a" identifier == number_literal)) ;) (if_statement "if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }" { (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" identifier = number_literal) ;) (expression_statement "pbVar28 = (byte *)*puVar20;" (assignment_expression "pbVar28 = (byte *)*puVar20" identifier = (cast_expression "(byte *)*puVar20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (expression_statement "pbVar30 = (byte *)"*default*";" (assignment_expression "pbVar30 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);" do (compound_statement "{\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar28 < *pbVar30;" (assignment_expression "bVar31 = *pbVar28 < *pbVar30" identifier = (binary_expression "*pbVar28 < *pbVar30" (pointer_expression "*pbVar28" * identifier) < (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "bVar32 = *pbVar28 == *pbVar30;" (assignment_expression "bVar32 = *pbVar28 == *pbVar30" identifier = (binary_expression "*pbVar28 == *pbVar30" (pointer_expression "*pbVar28" * identifier) == (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1" identifier = (binary_expression "pbVar28 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar33 * -2" identifier + (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1" identifier = (binary_expression "pbVar30 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar33 * -2" identifier + (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar32)" ( identifier )) ;) (if_statement "if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;" if (parenthesized_expression "((!bVar31 && !bVar32) == bVar31)" ( (binary_expression "(!bVar31 && !bVar32) == bVar31" (parenthesized_expression "(!bVar31 && !bVar32)" ( (binary_expression "!bVar31 && !bVar32" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar32" ! identifier)) )) == identifier) )) (goto_statement "goto code_r0x0002315d;" goto statement_identifier ;)) })) })))) (expression_statement "puVar7 = DAT_0009384c;" (assignment_expression "puVar7 = DAT_0009384c" identifier = identifier) ;) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (if_statement "if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2))" ( (binary_expression "((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)" (parenthesized_expression "((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400))" ( (binary_expression "(((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)" (parenthesized_expression "(((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0))" ( (binary_expression "((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)" (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 8) == 0)" ( (binary_expression "(*(byte *)(local_9c + 0x15) & 8) == 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 8)" ( (binary_expression "*(byte *)(local_9c + 0x15) & 8" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((puStack_7c[5] & 1) != 0)" ( (binary_expression "(puStack_7c[5] & 1) != 0" (parenthesized_expression "(puStack_7c[5] & 1)" ( (binary_expression "puStack_7c[5] & 1" (subscript_expression "puStack_7c[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((puStack_7c[5] & 0x402) != 0x400)" ( (binary_expression "(puStack_7c[5] & 0x402) != 0x400" (parenthesized_expression "(puStack_7c[5] & 0x402)" ( (binary_expression "puStack_7c[5] & 0x402" (subscript_expression "puStack_7c[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((DAT_00093c80 & 3) != 2)" ( (binary_expression "(DAT_00093c80 & 3) != 2" (parenthesized_expression "(DAT_00093c80 & 3)" ( (binary_expression "DAT_00093c80 & 3" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }" { (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "bVar32 = param_6 == 0;" (assignment_expression "bVar32 = param_6 == 0" identifier = (binary_expression "param_6 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (compound_statement "{\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }" { (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" identifier = number_literal) ;) (expression_statement "pbVar28 = (byte *)*puVar20;" (assignment_expression "pbVar28 = (byte *)*puVar20" identifier = (cast_expression "(byte *)*puVar20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (expression_statement "pbVar30 = (byte *)"*default*";" (assignment_expression "pbVar30 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);" do (compound_statement "{\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar28 < *pbVar30;" (assignment_expression "bVar31 = *pbVar28 < *pbVar30" identifier = (binary_expression "*pbVar28 < *pbVar30" (pointer_expression "*pbVar28" * identifier) < (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "bVar32 = *pbVar28 == *pbVar30;" (assignment_expression "bVar32 = *pbVar28 == *pbVar30" identifier = (binary_expression "*pbVar28 == *pbVar30" (pointer_expression "*pbVar28" * identifier) == (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1" identifier = (binary_expression "pbVar28 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar33 * -2" identifier + (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1" identifier = (binary_expression "pbVar30 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar33 * -2" identifier + (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar32)" ( identifier )) ;) (if_statement "if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }" if (parenthesized_expression "(((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0))" ( (binary_expression "((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)" (parenthesized_expression "((!bVar31 && !bVar32) == bVar31)" ( (binary_expression "(!bVar31 && !bVar32) == bVar31" (parenthesized_expression "(!bVar31 && !bVar32)" ( (binary_expression "!bVar31 && !bVar32" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar32" ! identifier)) )) == identifier) )) && (parenthesized_expression "(DAT_0009384c != (undefined4 *)0x0)" ( (binary_expression "DAT_0009384c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }" { (expression_statement "iVar14 = strcmp((char *)*DAT_0009384c,"*default*");" (assignment_expression "iVar14 = strcmp((char *)*DAT_0009384c,"*default*")" identifier = (call_expression "strcmp((char *)*DAT_0009384c,"*default*")" identifier (argument_list "((char *)*DAT_0009384c,"*default*")" ( (cast_expression "(char *)*DAT_0009384c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_0009384c" * identifier)) , (string_literal ""*default*"" " string_content ") )))) ;) (if_statement "if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }" if (parenthesized_expression "(((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1))" ( (binary_expression "((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)" (parenthesized_expression "((iVar14 != 0) || (puVar7[2] != 0))" ( (binary_expression "(iVar14 != 0) || (puVar7[2] != 0)" (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) || (parenthesized_expression "(puVar7[2] != 0)" ( (binary_expression "puVar7[2] != 0" (subscript_expression "puVar7[2]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(DAT_00093e20 != 1)" ( (binary_expression "DAT_00093e20 != 1" identifier != number_literal) ))) )) (compound_statement "{\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }" { (expression_statement "uVar16 = *puStack_7c;" (assignment_expression "uVar16 = *puStack_7c" identifier = (pointer_expression "*puStack_7c" * identifier)) ;) (if_statement "if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }" if (parenthesized_expression "(DAT_00093d38 == '\0')" ( (binary_expression "DAT_00093d38 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }" { (expression_statement "pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";" (assignment_expression "pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n"" identifier = (string_literal ""%P: warning: no memory region specified for loadable section `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "ppuVar36 = extraout_ECX;" (assignment_expression "ppuVar36 = extraout_ECX" identifier = identifier) ;) }) (else_clause "else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }" else (compound_statement "{\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }" { (expression_statement "pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";" (assignment_expression "pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n"" identifier = (string_literal ""%F%P: error: no memory region specified for loadable section `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "ppuVar36 = &__DT_PLTGOT;" (assignment_expression "ppuVar36 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) }))) (expression_statement "uVar18 = dcgettext(0,pcVar17,5,ppuVar36);" (assignment_expression "uVar18 = dcgettext(0,pcVar17,5,ppuVar36)" identifier = (call_expression "dcgettext(0,pcVar17,5,ppuVar36)" identifier (argument_list "(0,pcVar17,5,ppuVar36)" ( number_literal , identifier , number_literal , identifier )))) ;) (expression_statement "FUN_00032ba0(uVar18,uVar16);" (call_expression "FUN_00032ba0(uVar18,uVar16)" identifier (argument_list "(uVar18,uVar16)" ( identifier , identifier ))) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar20 = (undefined4 *)local_9c[8];" (assignment_expression "puVar20 = (undefined4 *)local_9c[8]" identifier = (cast_expression "(undefined4 *)local_9c[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[8]" identifier [ number_literal ]))) ;) })) })) })) })) (expression_statement "lVar34 = *(longlong *)(puVar20 + 9);" (assignment_expression "lVar34 = *(longlong *)(puVar20 + 9)" identifier = (pointer_expression "*(longlong *)(puVar20 + 9)" * (cast_expression "(longlong *)(puVar20 + 9)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 9)" ( (binary_expression "puVar20 + 9" identifier + number_literal) ))))) ;) (expression_statement "uStack_6c = puStack_7c[0x16];" (assignment_expression "uStack_6c = puStack_7c[0x16]" identifier = (subscript_expression "puStack_7c[0x16]" identifier [ number_literal ])) ;) }) (else_clause "else {\n              uStack_6c = local_9c[0x11];\n            }" else (compound_statement "{\n              uStack_6c = local_9c[0x11];\n            }" { (expression_statement "uStack_6c = local_9c[0x11];" (assignment_expression "uStack_6c = local_9c[0x11]" identifier = (subscript_expression "local_9c[0x11]" identifier [ number_literal ])) ;) }))) (expression_statement "iStack_60 = (int)((ulonglong)lVar34 >> 0x20);" (assignment_expression "iStack_60 = (int)((ulonglong)lVar34 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_64 = (uint)lVar34;" (assignment_expression "uStack_64 = (uint)lVar34" identifier = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }" if (parenthesized_expression "((int)uStack_6c < 1)" ( (binary_expression "(int)uStack_6c < 1" (cast_expression "(int)uStack_6c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }" { (expression_statement "uStack_54 = 0;" (assignment_expression "uStack_54 = 0" identifier = number_literal) ;) (expression_statement "iStack_50 = 0;" (assignment_expression "iStack_50 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }" else (compound_statement "{\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }" { (expression_statement "bVar31 = (uStack_6c & 0x20) == 0;" (assignment_expression "bVar31 = (uStack_6c & 0x20) == 0" identifier = (binary_expression "(uStack_6c & 0x20) == 0" (parenthesized_expression "(uStack_6c & 0x20)" ( (binary_expression "uStack_6c & 0x20" identifier & number_literal) )) == number_literal)) ;) (expression_statement "iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);" (assignment_expression "iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f)" identifier = (binary_expression "(uint)!bVar31 << ((byte)uStack_6c & 0x1f)" (cast_expression "(uint)!bVar31" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!bVar31" ! identifier)) << (parenthesized_expression "((byte)uStack_6c & 0x1f)" ( (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);" (assignment_expression "iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f)" identifier = (binary_expression "(uint)bVar31 << ((byte)uStack_6c & 0x1f)" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) << (parenthesized_expression "((byte)uStack_6c & 0x1f)" ( (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);" (assignment_expression "lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14)" identifier = (binary_expression "lVar34 + -1 + CONCAT44(iVar10,iVar14)" (binary_expression "lVar34 + -1" identifier + number_literal) + (call_expression "CONCAT44(iVar10,iVar14)" identifier (argument_list "(iVar10,iVar14)" ( identifier , identifier ))))) ;) (expression_statement "uVar13 = -iVar14 & (uint)lVar34;" (assignment_expression "uVar13 = -iVar14 & (uint)lVar34" identifier = (binary_expression "-iVar14 & (uint)lVar34" (unary_expression "-iVar14" - identifier) & (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20)" identifier = (binary_expression "-(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20)" (unary_expression "-(iVar10 + (uint)(iVar14 != 0))" - (parenthesized_expression "(iVar10 + (uint)(iVar14 != 0))" ( (binary_expression "iVar10 + (uint)(iVar14 != 0)" identifier + (call_expression "(uint)(iVar14 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )))) ))) & (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) (expression_statement "uStack_54 = uVar13 - uStack_64;" (assignment_expression "uStack_54 = uVar13 - uStack_64" identifier = (binary_expression "uVar13 - uStack_64" identifier - identifier)) ;) (expression_statement "iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);" (assignment_expression "iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64)" identifier = (binary_expression "(uVar11 - iStack_60) - (uint)(uVar13 < uStack_64)" (parenthesized_expression "(uVar11 - iStack_60)" ( (binary_expression "uVar11 - iStack_60" identifier - identifier) )) - (call_expression "(uint)(uVar13 < uStack_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uStack_64)" ( (binary_expression "uVar13 < uStack_64" identifier < identifier) ))))) ;) (expression_statement "lVar34 = CONCAT44(uVar11,uVar13);" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" identifier = (call_expression "CONCAT44(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier )))) ;) (if_statement "if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }" if (parenthesized_expression "(((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1))" ( (binary_expression "((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)" (parenthesized_expression "((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))" ( (binary_expression "(iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)))" (parenthesized_expression "(iStack_50 != 0 || uStack_54 != 0)" ( (binary_expression "iStack_50 != 0 || uStack_54 != 0" (binary_expression "iStack_50 != 0" identifier != number_literal) || (binary_expression "uStack_54 != 0" identifier != number_literal)) )) && (parenthesized_expression "((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)))" ( (parenthesized_expression "(iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))" ( (binary_expression "iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)" (binary_expression "iRam00093da4 != 0" identifier != number_literal) || (parenthesized_expression "(lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)" ( (comma_expression "lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" identifier = (call_expression "CONCAT44(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier )))) , (binary_expression "local_9c[0xb] != 0" (subscript_expression "local_9c[0xb]" identifier [ number_literal ]) != number_literal)) ))) )) ))) )) && (parenthesized_expression "(lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)" ( (comma_expression "lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" identifier = (call_expression "CONCAT44(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier )))) , (binary_expression "DAT_00093e20 != 1" identifier != number_literal)) ))) )) (compound_statement "{\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }" { (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" identifier = (subscript_expression "local_9c[6]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);" (assignment_expression "uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5)" identifier = (call_expression "dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5)" identifier (argument_list "(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5)" ( number_literal , (string_literal ""%P: warning: changing start of section %s by %lu byte\n"" " string_content escape_sequence ") , (string_literal ""%P: warning: changing start of section %s by %lu bytes\n"" " string_content escape_sequence ") , identifier , number_literal )))) ;) (expression_statement "FUN_00032ba0(uVar16,iVar14,uStack_54);" (call_expression "FUN_00032ba0(uVar16,iVar14,uStack_54)" identifier (argument_list "(uVar16,iVar14,uStack_54)" ( identifier , identifier , identifier ))) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "lVar34 = CONCAT44(uVar11,uVar13);" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" identifier = (call_expression "CONCAT44(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier )))) ;) })) }))) (expression_statement "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;" (assignment_expression "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" * (cast_expression "(byte *)(puStack_7c + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 6)" ( (binary_expression "puStack_7c + 6" identifier + number_literal) )))) = (binary_expression "*(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" * (cast_expression "(byte *)(puStack_7c + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 6)" ( (binary_expression "puStack_7c + 6" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(longlong *)(puStack_7c + 9) = lVar34;" (assignment_expression "*(longlong *)(puStack_7c + 9) = lVar34" (pointer_expression "*(longlong *)(puStack_7c + 9)" * (cast_expression "(longlong *)(puStack_7c + 9)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 9)" ( (binary_expression "puStack_7c + 9" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(longlong *)(puStack_7c + 7) = lVar34;" (assignment_expression "*(longlong *)(puStack_7c + 7) = lVar34" (pointer_expression "*(longlong *)(puStack_7c + 7)" * (cast_expression "(longlong *)(puStack_7c + 7)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 7)" ( (binary_expression "puStack_7c + 7" identifier + number_literal) )))) = identifier) ;) (expression_statement "puStack_7c[0x13] = 0;" (assignment_expression "puStack_7c[0x13] = 0" (subscript_expression "puStack_7c[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_7c[0x14] = 0;" (assignment_expression "puStack_7c[0x14] = 0" (subscript_expression "puStack_7c[0x14]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "FUN_00021f80(lVar34,param_5,param_6);" (call_expression "FUN_00021f80(lVar34,param_5,param_6)" identifier (argument_list "(lVar34,param_5,param_6)" ( identifier , identifier , identifier ))) ;) (expression_statement "bVar22 = *(byte *)(local_9c + 0x15);" (assignment_expression "bVar22 = *(byte *)(local_9c + 0x15)" identifier = (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) ))))) ;) (expression_statement "puVar2 = (undefined *)local_9c[7];" (assignment_expression "puVar2 = (undefined *)local_9c[7]" identifier = (cast_expression "(undefined *)local_9c[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "*(byte *)(local_9c + 0x15) = bVar22 | 1;" (assignment_expression "*(byte *)(local_9c + 0x15) = bVar22 | 1" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "bVar22 | 1" identifier | number_literal)) ;) (if_statement "if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }" if (parenthesized_expression "(puVar2 == puVar6 + 0x180)" ( (binary_expression "puVar2 == puVar6 + 0x180" identifier == (binary_expression "puVar6 + 0x180" identifier + number_literal)) )) (compound_statement "{\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }" { (expression_statement "uStack_80 = *(uint *)(puVar6 + 0x1b0);" (assignment_expression "uStack_80 = *(uint *)(puVar6 + 0x1b0)" identifier = (pointer_expression "*(uint *)(puVar6 + 0x1b0)" * (cast_expression "(uint *)(puVar6 + 0x1b0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x1b0)" ( (binary_expression "puVar6 + 0x1b0" identifier + number_literal) ))))) ;) (expression_statement "puStack_84 = *(undefined **)(puVar6 + 0x1ac);" (assignment_expression "puStack_84 = *(undefined **)(puVar6 + 0x1ac)" identifier = (pointer_expression "*(undefined **)(puVar6 + 0x1ac)" * (cast_expression "(undefined **)(puVar6 + 0x1ac)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x1ac)" ( (binary_expression "puVar6 + 0x1ac" identifier + number_literal) ))))) ;) (labeled_statement "code_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }" statement_identifier : (if_statement "if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }" if (parenthesized_expression "(uStack_80 != 0 || puStack_84 != (undefined *)0x0)" ( (binary_expression "uStack_80 != 0 || puStack_84 != (undefined *)0x0" (binary_expression "uStack_80 != 0" identifier != number_literal) || (binary_expression "puStack_84 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }" { (expression_statement "FUN_00032bf0("../../ld/ldlang.c",0x1443);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",0x1443)" identifier (argument_list "("../../ld/ldlang.c",0x1443)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) }))) }) (else_clause "else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }" else (compound_statement "{\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }" { (expression_statement "puStack_84 = *(undefined **)(puVar2 + 0x2c);" (assignment_expression "puStack_84 = *(undefined **)(puVar2 + 0x2c)" identifier = (pointer_expression "*(undefined **)(puVar2 + 0x2c)" * (cast_expression "(undefined **)(puVar2 + 0x2c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x2c)" ( (binary_expression "puVar2 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uStack_80 = *(uint *)(puVar2 + 0x30);" (assignment_expression "uStack_80 = *(uint *)(puVar2 + 0x30)" identifier = (pointer_expression "*(uint *)(puVar2 + 0x30)" * (cast_expression "(uint *)(puVar2 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if ((bVar22 & 8) != 0) goto code_r0x00022aad;" if (parenthesized_expression "((bVar22 & 8) != 0)" ( (binary_expression "(bVar22 & 8) != 0" (parenthesized_expression "(bVar22 & 8)" ( (binary_expression "bVar22 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto code_r0x00022aad;" goto statement_identifier ;)) (expression_statement "puVar1 = (uint *)(puVar2 + 0x1c);" (assignment_expression "puVar1 = (uint *)(puVar2 + 0x1c)" identifier = (cast_expression "(uint *)(puVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x1c)" ( (binary_expression "puVar2 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_34 = *(longlong *)puVar1;" (assignment_expression "local_34 = *(longlong *)puVar1" identifier = (pointer_expression "*(longlong *)puVar1" * (cast_expression "(longlong *)puVar1" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }" if (parenthesized_expression "((puVar2[0x15] & 8) == 0)" ( (binary_expression "(puVar2[0x15] & 8) == 0" (parenthesized_expression "(puVar2[0x15] & 8)" ( (binary_expression "puVar2[0x15] & 8" (subscript_expression "puVar2[0x15]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }" { (expression_statement "uVar13 = local_9c[0xf];" (assignment_expression "uVar13 = local_9c[0xf]" identifier = (subscript_expression "local_9c[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = (uVar11 + uVar13) - 1;" (assignment_expression "uVar19 = (uVar11 + uVar13) - 1" identifier = (binary_expression "(uVar11 + uVar13) - 1" (parenthesized_expression "(uVar11 + uVar13)" ( (binary_expression "uVar11 + uVar13" identifier + identifier) )) - number_literal)) ;) (expression_statement "bVar22 = (byte)DAT_0009386c;" (assignment_expression "bVar22 = (byte)DAT_0009386c" identifier = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar27 = uStack_80 >> (bVar22 & 0x1f);" (assignment_expression "uVar27 = uStack_80 >> (bVar22 & 0x1f)" identifier = (binary_expression "uStack_80 >> (bVar22 & 0x1f)" identifier >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar15 = uVar27;" (assignment_expression "uVar15 = uVar27" identifier = identifier) ;) (expression_statement "uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f)" identifier = (binary_expression "(uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f)" (binary_expression "(uint)puStack_84 >> (bVar22 & 0x1f)" (cast_expression "(uint)puStack_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) | (binary_expression "uStack_80 << 0x20 - (bVar22 & 0x1f)" identifier << (binary_expression "0x20 - (bVar22 & 0x1f)" number_literal - (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = uVar27;" (assignment_expression "uVar12 = uVar27" identifier = identifier) ;) })) (expression_statement "uVar29 = uVar19 + uVar12 & -uVar13;" (assignment_expression "uVar29 = uVar19 + uVar12 & -uVar13" identifier = (binary_expression "uVar19 + uVar12 & -uVar13" (binary_expression "uVar19 + uVar12" identifier + identifier) & (unary_expression "-uVar13" - identifier))) ;) (expression_statement "uVar23 = uVar29 - uVar11;" (assignment_expression "uVar23 = uVar29 - uVar11" identifier = (binary_expression "uVar29 - uVar11" identifier - identifier)) ;) (expression_statement "uVar26 = uVar23 << (bVar22 & 0x1f);" (assignment_expression "uVar26 = uVar23 << (bVar22 & 0x1f)" identifier = (binary_expression "uVar23 << (bVar22 & 0x1f)" identifier << (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar27 = uVar26;" (assignment_expression "uVar27 = uVar26" identifier = identifier) ;) (expression_statement "uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f)" identifier = (binary_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f)" (binary_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f)" (binary_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)" (parenthesized_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20))" ( (binary_expression "(*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)" (parenthesized_expression "(*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0))" ( (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12)" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0)" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13)" (pointer_expression "*(int *)(puVar2 + 0x20)" * (cast_expression "(int *)(puVar2 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x20)" ( (binary_expression "puVar2 + 0x20" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar11,uVar13)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier ))))) + number_literal) + (call_expression "(uint)(uVar11 + uVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 + uVar13 != 0)" ( (binary_expression "uVar11 + uVar13 != 0" (binary_expression "uVar11 + uVar13" identifier + identifier) != number_literal) )))) + identifier) + (cast_expression "(uint)CARRY4(uVar19,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar19,uVar12)" identifier (argument_list "(uVar19,uVar12)" ( identifier , identifier ))))) & (unary_expression "-(uint)(uVar13 != 0)" - (call_expression "(uint)(uVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) ))))) )) - (pointer_expression "*(int *)(puVar2 + 0x20)" * (cast_expression "(int *)(puVar2 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x20)" ( (binary_expression "puVar2 + 0x20" identifier + number_literal) ))))) )) - (call_expression "(uint)(uVar29 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar29 < uVar11)" ( (binary_expression "uVar29 < uVar11" identifier < identifier) )))) << (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar23 >> 0x20 - (bVar22 & 0x1f)" identifier >> (binary_expression "0x20 - (bVar22 & 0x1f)" number_literal - (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar26;" (assignment_expression "uVar11 = uVar26" identifier = identifier) ;) })) (expression_statement "*(uint *)(puVar2 + 0x30) = uVar11;" (assignment_expression "*(uint *)(puVar2 + 0x30) = uVar11" (pointer_expression "*(uint *)(puVar2 + 0x30)" * (cast_expression "(uint *)(puVar2 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar2 + 0x2c) = uVar27;" (assignment_expression "*(uint *)(puVar2 + 0x2c) = uVar27" (pointer_expression "*(uint *)(puVar2 + 0x2c)" * (cast_expression "(uint *)(puVar2 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x2c)" ( (binary_expression "puVar2 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_34 = *(longlong *)puVar1;" (assignment_expression "local_34 = *(longlong *)puVar1" identifier = (pointer_expression "*(longlong *)puVar1" * (cast_expression "(longlong *)puVar1" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) }))) (expression_statement "uStack_64 = local_9c[8];" (assignment_expression "uStack_64 = local_9c[8]" identifier = (subscript_expression "local_9c[8]" identifier [ number_literal ])) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }" if (parenthesized_expression "(uStack_64 == 0)" ( (binary_expression "uStack_64 == 0" identifier == number_literal) )) (compound_statement "{\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }" { (expression_statement "uStack_64 = FUN_00021e10("*default*",0);" (assignment_expression "uStack_64 = FUN_00021e10("*default*",0)" identifier = (call_expression "FUN_00021e10("*default*",0)" identifier (argument_list "("*default*",0)" ( (string_literal ""*default*"" " string_content ") , number_literal )))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })) (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (if_statement "if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(local_9c[0xc] == 0)" ( (binary_expression "local_9c[0xc] == 0" (subscript_expression "local_9c[0xc]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }" { (expression_statement "puStack_84 = (undefined *)local_9c[7];" (assignment_expression "puStack_84 = (undefined *)local_9c[7]" identifier = (cast_expression "(undefined *)local_9c[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "iVar14 = local_9c[9];" (assignment_expression "iVar14 = local_9c[9]" identifier = (subscript_expression "local_9c[9]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x14);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x14)" identifier = (pointer_expression "*(uint *)(puStack_84 + 0x14)" * (cast_expression "(uint *)(puStack_84 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x14)" ( (binary_expression "puStack_84 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c = (undefined4 *)(uVar11 & 1);" (assignment_expression "puStack_7c = (undefined4 *)(uVar11 & 1)" identifier = (cast_expression "(undefined4 *)(uVar11 & 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 & 1)" ( (binary_expression "uVar11 & 1" identifier & number_literal) )))) ;) (if_statement "if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }" { (expression_statement "uStack_4c = *(uint *)(iVar14 + 0x24);" (assignment_expression "uStack_4c = *(uint *)(iVar14 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x24)" * (cast_expression "(uint *)(iVar14 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uStack_48 = *(uint *)(iVar14 + 0x28);" (assignment_expression "uStack_48 = *(uint *)(iVar14 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x28)" * (cast_expression "(uint *)(iVar14 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }" if (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 0x40) == 0)" ( (binary_expression "(*(byte *)(local_9c + 0x15) & 0x40) == 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 0x40)" ( (binary_expression "*(byte *)(local_9c + 0x15) & 0x40" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }" { (if_statement "if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }" if (parenthesized_expression "(iVar14 != local_9c[8])" ( (binary_expression "iVar14 != local_9c[8]" identifier != (subscript_expression "local_9c[8]" identifier [ number_literal ])) )) (compound_statement "{\n                  uStack_6c = local_9c[0x11];\n                }" { (expression_statement "uStack_6c = local_9c[0x11];" (assignment_expression "uStack_6c = local_9c[0x11]" identifier = (subscript_expression "local_9c[0x11]" identifier [ number_literal ])) ;) })) (if_statement "if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }" if (parenthesized_expression "(0 < (int)uStack_6c)" ( (binary_expression "0 < (int)uStack_6c" number_literal < (cast_expression "(int)uStack_6c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }" { (expression_statement "bVar22 = (byte)uStack_6c & 0x1f;" (assignment_expression "bVar22 = (byte)uStack_6c & 0x1f" identifier = (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar15 = 1 << ((byte)uStack_6c & 0x1f);" (assignment_expression "uVar15 = 1 << ((byte)uStack_6c & 0x1f)" identifier = (binary_expression "1 << ((byte)uStack_6c & 0x1f)" number_literal << (parenthesized_expression "((byte)uStack_6c & 0x1f)" ( (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) (expression_statement "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;" (assignment_expression "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22" identifier = (binary_expression "0 << bVar22 | 1U >> 0x20 - bVar22" (binary_expression "0 << bVar22" number_literal << identifier) | (binary_expression "1U >> 0x20 - bVar22" number_literal >> (binary_expression "0x20 - bVar22" number_literal - identifier)))) ;) (if_statement "if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" if (parenthesized_expression "((uStack_6c & 0x20) != 0)" ( (binary_expression "(uStack_6c & 0x20) != 0" (parenthesized_expression "(uStack_6c & 0x20)" ( (binary_expression "uStack_6c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = uVar15;" (assignment_expression "uVar13 = uVar15" identifier = identifier) ;) })) (expression_statement "bVar31 = uStack_4c != 0;" (assignment_expression "bVar31 = uStack_4c != 0" identifier = (binary_expression "uStack_4c != 0" identifier != number_literal)) ;) (expression_statement "uVar15 = uStack_4c - 1;" (assignment_expression "uVar15 = uStack_4c - 1" identifier = (binary_expression "uStack_4c - 1" identifier - number_literal)) ;) (expression_statement "uStack_4c = uVar15 + uVar12 & -uVar12;" (assignment_expression "uStack_4c = uVar15 + uVar12 & -uVar12" identifier = (binary_expression "uVar15 + uVar12 & -uVar12" (binary_expression "uVar15 + uVar12" identifier + identifier) & (unary_expression "-uVar12" - identifier))) ;) (expression_statement "uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);" (assignment_expression "uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12)" identifier = (binary_expression "-(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12)" (unary_expression "-(uVar13 + (uVar12 != 0))" - (parenthesized_expression "(uVar13 + (uVar12 != 0))" ( (binary_expression "uVar13 + (uVar12 != 0)" identifier + (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) ))) ))) & (binary_expression "(uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12)" (binary_expression "(uStack_48 - 1) + (uint)bVar31 + uVar13" (binary_expression "(uStack_48 - 1) + (uint)bVar31" (parenthesized_expression "(uStack_48 - 1)" ( (binary_expression "uStack_48 - 1" identifier - number_literal) )) + (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) + identifier) + (cast_expression "(uint)CARRY4(uVar15,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar15,uVar12)" identifier (argument_list "(uVar15,uVar12)" ( identifier , identifier ))))))) ;) })) }) (else_clause "else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }" else (compound_statement "{\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }" { (expression_statement "bVar31 = CARRY4(uStack_4c,uStack_54);" (assignment_expression "bVar31 = CARRY4(uStack_4c,uStack_54)" identifier = (call_expression "CARRY4(uStack_4c,uStack_54)" identifier (argument_list "(uStack_4c,uStack_54)" ( identifier , identifier )))) ;) (expression_statement "uStack_4c = uStack_4c + uStack_54;" (assignment_expression "uStack_4c = uStack_4c + uStack_54" identifier = (binary_expression "uStack_4c + uStack_54" identifier + identifier)) ;) (expression_statement "uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;" (assignment_expression "uStack_48 = uStack_48 + iStack_50 + (uint)bVar31" identifier = (binary_expression "uStack_48 + iStack_50 + (uint)bVar31" (binary_expression "uStack_48 + iStack_50" identifier + identifier) + (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }))) (expression_statement "*(uint *)(puStack_84 + 0x24) = uStack_4c;" (assignment_expression "*(uint *)(puStack_84 + 0x24) = uStack_4c" (pointer_expression "*(uint *)(puStack_84 + 0x24)" * (cast_expression "(uint *)(puStack_84 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x24)" ( (binary_expression "puStack_84 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puStack_84 + 0x28) = uStack_48;" (assignment_expression "*(uint *)(puStack_84 + 0x28) = uStack_48" (pointer_expression "*(uint *)(puStack_84 + 0x28)" * (cast_expression "(uint *)(puStack_84 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x28)" ( (binary_expression "puStack_84 + 0x28" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto code_r0x0002263c;" goto statement_identifier ;) })) (if_statement "if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;" if (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) == 0)" ( (binary_expression "*(int *)(uStack_64 + 0x2c) == 0" (pointer_expression "*(int *)(uStack_64 + 0x2c)" * (cast_expression "(int *)(uStack_64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto code_r0x0002263c;" goto statement_identifier ;)) (if_statement "if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }" if (parenthesized_expression "(puStack_7c != (undefined4 *)0x0)" ( (binary_expression "puStack_7c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }" { (expression_statement "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);" (assignment_expression "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" * (cast_expression "(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) + 0x1c)" ( (binary_expression "*(int *)(uStack_64 + 0x2c) + 0x1c" (pointer_expression "*(int *)(uStack_64 + 0x2c)" * (cast_expression "(int *)(uStack_64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar14 + 0x1c);" (assignment_expression "uVar13 = *(uint *)(iVar14 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar14 + 0x20);" (assignment_expression "uVar12 = *(uint *)(iVar14 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x20)" * (cast_expression "(uint *)(iVar14 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(iVar14 + 0x24);" (assignment_expression "uVar15 = *(uint *)(iVar14 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x24)" * (cast_expression "(uint *)(iVar14 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "bVar22 = (byte)DAT_0009386c;" (assignment_expression "bVar22 = (byte)DAT_0009386c" identifier = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }" if (parenthesized_expression "(local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13))" ( (binary_expression "local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)" (binary_expression "local_34._4_4_ < uVar12" (field_expression "local_34._4_4_" identifier . field_identifier) < identifier) || (binary_expression "local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)" (binary_expression "local_34._4_4_ - uVar12" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier) < (call_expression "(uint)((uint)local_34 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < uVar13)" ( (binary_expression "(uint)local_34 < uVar13" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) )) (compound_statement "{\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }" { (expression_statement "uVar19 = *(uint *)(puStack_84 + 0x30);" (assignment_expression "uVar19 = *(uint *)(puStack_84 + 0x30)" identifier = (pointer_expression "*(uint *)(puStack_84 + 0x30)" * (cast_expression "(uint *)(puStack_84 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x30)" ( (binary_expression "puStack_84 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;" if (parenthesized_expression "(uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0)" ( (binary_expression "uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0" (binary_expression "uVar19 == 0" identifier == number_literal) && (binary_expression "*(uint *)(puStack_84 + 0x2c) == 0" (pointer_expression "*(uint *)(puStack_84 + 0x2c)" * (cast_expression "(uint *)(puStack_84 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x2c)" ( (binary_expression "puStack_84 + 0x2c" identifier + number_literal) )))) == number_literal)) )) (goto_statement "goto code_r0x000231ba;" goto statement_identifier ;)) (expression_statement "uVar26 = uVar19 >> (bVar22 & 0x1f);" (assignment_expression "uVar26 = uVar19 >> (bVar22 & 0x1f)" identifier = (binary_expression "uVar19 >> (bVar22 & 0x1f)" identifier >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar27 = uVar26;" (assignment_expression "uVar27 = uVar26" identifier = identifier) ;) (expression_statement "uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f)" identifier = (binary_expression "*(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f)" (binary_expression "*(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f)" (pointer_expression "*(uint *)(puStack_84 + 0x2c)" * (cast_expression "(uint *)(puStack_84 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x2c)" ( (binary_expression "puStack_84 + 0x2c" identifier + number_literal) )))) >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar19 << 0x20 - (bVar22 & 0x1f)" identifier << (binary_expression "0x20 - (bVar22 & 0x1f)" number_literal - (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "uVar19 = uVar26;" (assignment_expression "uVar19 = uVar26" identifier = identifier) ;) })) (expression_statement "lVar3 = lVar34 + CONCAT44(uVar27,uVar19);" (assignment_expression "lVar3 = lVar34 + CONCAT44(uVar27,uVar19)" identifier = (binary_expression "lVar34 + CONCAT44(uVar27,uVar19)" identifier + (call_expression "CONCAT44(uVar27,uVar19)" identifier (argument_list "(uVar27,uVar19)" ( identifier , identifier ))))) ;) (expression_statement "uVar19 = (uint)((ulonglong)lVar3 >> 0x20);" (assignment_expression "uVar19 = (uint)((ulonglong)lVar3 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;" if (parenthesized_expression "(uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))" ( (binary_expression "uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3)" (binary_expression "uVar12 < uVar19" identifier < identifier) || (binary_expression "uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3)" (binary_expression "uVar12 - uVar19" identifier - identifier) < (call_expression "(uint)(uVar13 < (uint)lVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < (uint)lVar3)" ( (binary_expression "uVar13 < (uint)lVar3" identifier < (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (goto_statement "goto code_r0x000231ba;" goto statement_identifier ;)) (if_statement "if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }" if (parenthesized_expression "(uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15)" ( (binary_expression "uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15" (binary_expression "uVar12 != *(uint *)(iVar14 + 0x28)" identifier != (pointer_expression "*(uint *)(iVar14 + 0x28)" * (cast_expression "(uint *)(iVar14 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) ))))) || (binary_expression "uVar13 != uVar15" identifier != identifier)) )) (compound_statement "{\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }" { (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" identifier = (subscript_expression "local_9c[6]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);" (assignment_expression "uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12)" identifier = (call_expression "dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12)" identifier (argument_list "(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12)" ( number_literal , (string_literal ""%P: warning: dot moved backwards before `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_00032ba0(uVar16,iVar14);" (call_expression "FUN_00032ba0(uVar16,iVar14)" identifier (argument_list "(uVar16,iVar14)" ( identifier , identifier ))) ;) (expression_statement "puStack_84 = (undefined *)local_9c[7];" (assignment_expression "puStack_84 = (undefined *)local_9c[7]" identifier = (cast_expression "(undefined *)local_9c[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x14);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x14)" identifier = (pointer_expression "*(uint *)(puStack_84 + 0x14)" * (cast_expression "(uint *)(puStack_84 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x14)" ( (binary_expression "puStack_84 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c = (undefined4 *)(uVar11 & 1);" (assignment_expression "puStack_7c = (undefined4 *)(uVar11 & 1)" identifier = (cast_expression "(undefined4 *)(uVar11 & 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 & 1)" ( (binary_expression "uVar11 & 1" identifier & number_literal) )))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (goto_statement "goto code_r0x0002263c;" goto statement_identifier ;) })) }) (else_clause "else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }" else (compound_statement "{\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }" { (labeled_statement "code_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" statement_identifier : (if_statement "if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" if (parenthesized_expression "(local_9c[0x14] == 1)" ( (binary_expression "local_9c[0x14] == 1" (subscript_expression "local_9c[0x14]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }" { (expression_statement "uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);" (assignment_expression "uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f)" identifier = (binary_expression "*(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar12 = uVar19;" (assignment_expression "uVar12 = uVar19" identifier = identifier) ;) (expression_statement "uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f)" identifier = (binary_expression "*(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f)" (binary_expression "*(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x2c)" * (cast_expression "(uint *)(iVar14 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) | (binary_expression "*(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) << (binary_expression "0x20 - (bVar22 & 0x1f)" number_literal - (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = uVar19;" (assignment_expression "uVar13 = uVar19" identifier = identifier) ;) })) (expression_statement "lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);" (assignment_expression "lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15)" identifier = (call_expression "CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15)" identifier (argument_list "(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15)" ( (binary_expression "uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15)" (binary_expression "uVar12 + *(uint *)(iVar14 + 0x28)" identifier + (pointer_expression "*(uint *)(iVar14 + 0x28)" * (cast_expression "(uint *)(iVar14 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar13,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar13,uVar15)" identifier (argument_list "(uVar13,uVar15)" ( identifier , identifier ))))) , (binary_expression "uVar13 + uVar15" identifier + identifier) )))) ;) }) (else_clause "else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" else (compound_statement "{\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" { (expression_statement "lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);" (assignment_expression "lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c)" identifier = (binary_expression "(lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c)" (parenthesized_expression "(lVar34 + *(longlong *)(iVar14 + 0x24))" ( (binary_expression "lVar34 + *(longlong *)(iVar14 + 0x24)" identifier + (pointer_expression "*(longlong *)(iVar14 + 0x24)" * (cast_expression "(longlong *)(iVar14 + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) ))))) )) - (pointer_expression "*(longlong *)(iVar14 + 0x1c)" * (cast_expression "(longlong *)(iVar14 + 0x1c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))))) ;) })))) (if_statement "if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }" if (parenthesized_expression "(0 < (int)uStack_6c)" ( (binary_expression "0 < (int)uStack_6c" number_literal < (cast_expression "(int)uStack_6c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }" { (expression_statement "bVar22 = (byte)uStack_6c & 0x1f;" (assignment_expression "bVar22 = (byte)uStack_6c & 0x1f" identifier = (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar15 = 1 << ((byte)uStack_6c & 0x1f);" (assignment_expression "uVar15 = 1 << ((byte)uStack_6c & 0x1f)" identifier = (binary_expression "1 << ((byte)uStack_6c & 0x1f)" number_literal << (parenthesized_expression "((byte)uStack_6c & 0x1f)" ( (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) (expression_statement "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;" (assignment_expression "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22" identifier = (binary_expression "0 << bVar22 | 1U >> 0x20 - bVar22" (binary_expression "0 << bVar22" number_literal << identifier) | (binary_expression "1U >> 0x20 - bVar22" number_literal >> (binary_expression "0x20 - bVar22" number_literal - identifier)))) ;) (if_statement "if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" if (parenthesized_expression "((uStack_6c & 0x20) != 0)" ( (binary_expression "(uStack_6c & 0x20) != 0" (parenthesized_expression "(uStack_6c & 0x20)" ( (binary_expression "uStack_6c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = uVar15;" (assignment_expression "uVar13 = uVar15" identifier = identifier) ;) })) (expression_statement "lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);" (assignment_expression "lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" identifier = (binary_expression "lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" identifier + (call_expression "CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" identifier (argument_list "((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" ( (binary_expression "(uVar13 - 1) + (uint)(uVar12 != 0)" (parenthesized_expression "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) )) + (call_expression "(uint)(uVar12 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )))) , (binary_expression "uVar12 - 1" identifier - number_literal) ))))) ;) (expression_statement "lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);" (assignment_expression "lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12)" identifier = (call_expression "CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12)" identifier (argument_list "(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12)" ( (binary_expression "-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20)" (unary_expression "-(uVar13 + (uVar12 != 0))" - (parenthesized_expression "(uVar13 + (uVar12 != 0))" ( (binary_expression "uVar13 + (uVar12 != 0)" identifier + (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) ))) ))) & (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (binary_expression "(uint)lVar3 & -uVar12" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-uVar12" - identifier)) )))) ;) })) (expression_statement "*(longlong *)(puStack_84 + 0x24) = lVar3;" (assignment_expression "*(longlong *)(puStack_84 + 0x24) = lVar3" (pointer_expression "*(longlong *)(puStack_84 + 0x24)" * (cast_expression "(longlong *)(puStack_84 + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x24)" ( (binary_expression "puStack_84 + 0x24" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) | number_literal)) ;) (goto_statement "goto code_r0x00022648;" goto statement_identifier ;) })) (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "uVar35 = FUN_00031200(local_9c[0xc],0,"load base");" (assignment_expression "uVar35 = FUN_00031200(local_9c[0xc],0,"load base")" identifier = (call_expression "FUN_00031200(local_9c[0xc],0,"load base")" identifier (argument_list "(local_9c[0xc],0,"load base")" ( (subscript_expression "local_9c[0xc]" identifier [ number_literal ]) , number_literal , (string_literal ""load base"" " string_content ") )))) ;) (expression_statement "puStack_84 = (undefined *)local_9c[7];" (assignment_expression "puStack_84 = (undefined *)local_9c[7]" identifier = (cast_expression "(undefined *)local_9c[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x14);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x14)" identifier = (pointer_expression "*(uint *)(puStack_84 + 0x14)" * (cast_expression "(uint *)(puStack_84 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x14)" ( (binary_expression "puStack_84 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puStack_84 + 0x24) = uVar35;" (assignment_expression "*(undefined8 *)(puStack_84 + 0x24) = uVar35" (pointer_expression "*(undefined8 *)(puStack_84 + 0x24)" * (cast_expression "(undefined8 *)(puStack_84 + 0x24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x24)" ( (binary_expression "puStack_84 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "puStack_7c = (undefined4 *)(uVar11 & 1);" (assignment_expression "puStack_7c = (undefined4 *)(uVar11 & 1)" identifier = (cast_expression "(undefined4 *)(uVar11 & 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 & 1)" ( (binary_expression "uVar11 & 1" identifier & number_literal) )))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (labeled_statement "code_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" statement_identifier : (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) | number_literal)) ;)) (if_statement "if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(puStack_7c != (undefined4 *)0x0)" ( (binary_expression "puStack_7c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }" { (labeled_statement "code_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" statement_identifier : (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }" if (parenthesized_expression "((uVar11 & 0x402) != 0x400)" ( (binary_expression "(uVar11 & 0x402) != 0x400" (parenthesized_expression "(uVar11 & 0x402)" ( (binary_expression "uVar11 & 0x402" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }" { (if_statement "if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }" if (parenthesized_expression "(*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0)" ( (binary_expression "*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0" (binary_expression "*(int *)(puStack_84 + 0x30) == 0" (pointer_expression "*(int *)(puStack_84 + 0x30)" * (cast_expression "(int *)(puStack_84 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x30)" ( (binary_expression "puStack_84 + 0x30" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(puStack_84 + 0x2c) == 0" (pointer_expression "*(int *)(puStack_84 + 0x2c)" * (cast_expression "(int *)(puStack_84 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x2c)" ( (binary_expression "puStack_84 + 0x2c" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }" { (if_statement "if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }" if (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) == 0)" ( (binary_expression "*(int *)(uStack_64 + 0x2c) == 0" (pointer_expression "*(int *)(uStack_64 + 0x2c)" * (cast_expression "(int *)(uStack_64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }" { (if_statement "if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;" if (parenthesized_expression "(*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))" ( (binary_expression "*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24)" (binary_expression "*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28)" (pointer_expression "*(int *)(puStack_84 + 0x20)" * (cast_expression "(int *)(puStack_84 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x20)" ( (binary_expression "puStack_84 + 0x20" identifier + number_literal) )))) != (pointer_expression "*(int *)(puStack_84 + 0x28)" * (cast_expression "(int *)(puStack_84 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x28)" ( (binary_expression "puStack_84 + 0x28" identifier + number_literal) ))))) || (binary_expression "*(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24)" (pointer_expression "*(int *)(puStack_84 + 0x1c)" * (cast_expression "(int *)(puStack_84 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x1c)" ( (binary_expression "puStack_84 + 0x1c" identifier + number_literal) )))) != (pointer_expression "*(int *)(puStack_84 + 0x24)" * (cast_expression "(int *)(puStack_84 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x24)" ( (binary_expression "puStack_84 + 0x24" identifier + number_literal) )))))) )) (goto_statement "goto code_r0x00022a68;" goto statement_identifier ;)) }) (else_clause "else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }" else (compound_statement "{\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }" { (expression_statement "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);" (assignment_expression "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" * (cast_expression "(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) + 0x1c)" ( (binary_expression "*(int *)(uStack_64 + 0x2c) + 0x1c" (pointer_expression "*(int *)(uStack_64 + 0x2c)" * (cast_expression "(int *)(uStack_64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar14 + 0x20);" (assignment_expression "uVar13 = *(uint *)(iVar14 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x20)" * (cast_expression "(uint *)(iVar14 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;" if (parenthesized_expression "(uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       )" ( (binary_expression "uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13" (binary_expression "uVar13 <= local_34._4_4_" identifier <= (field_expression "local_34._4_4_" identifier . field_identifier)) && (binary_expression "(uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13" (call_expression "(uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < *(uint *)(iVar14 + 0x1c))" ( (binary_expression "(uint)local_34 < *(uint *)(iVar14 + 0x1c)" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) ))))) ))) <= (binary_expression "local_34._4_4_ - uVar13" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier))) )) (goto_statement "goto code_r0x00022a68;" goto statement_identifier ;)) }))) }) (else_clause "else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }" else (compound_statement "{\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }" { (labeled_statement "code_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }" statement_identifier : (if_statement "if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }" if (parenthesized_expression "((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2))" ( (binary_expression "(local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)" (parenthesized_expression "(local_9c[9] == 0)" ( (binary_expression "local_9c[9] == 0" (subscript_expression "local_9c[9]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((DAT_00093c80 & 3) != 2)" ( (binary_expression "(DAT_00093c80 & 3) != 2" (parenthesized_expression "(DAT_00093c80 & 3)" ( (binary_expression "DAT_00093c80 & 3" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }" { (expression_statement "*(int **)(uStack_64 + 0x2c) = local_9c;" (assignment_expression "*(int **)(uStack_64 + 0x2c) = local_9c" (pointer_expression "*(int **)(uStack_64 + 0x2c)" * (cast_expression "(int **)(uStack_64 + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) = identifier) ;) }))) }))) })) })) }))) (if_statement "if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }" if (parenthesized_expression "((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0))" ( (binary_expression "(puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)" (parenthesized_expression "(puStack_84 != puVar6 + 0x180)" ( (binary_expression "puStack_84 != puVar6 + 0x180" identifier != (binary_expression "puVar6 + 0x180" identifier + number_literal)) )) && (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 8) == 0)" ( (binary_expression "(*(byte *)(local_9c + 0x15) & 8) == 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 8)" ( (binary_expression "*(byte *)(local_9c + 0x15) & 8" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }" { (if_statement "if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }" if (parenthesized_expression "((uVar11 & 0x402) == 0x400)" ( (binary_expression "(uVar11 & 0x402) == 0x400" (parenthesized_expression "(uVar11 & 0x402)" ( (binary_expression "uVar11 & 0x402" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }" { (expression_statement "puStack_7c = (undefined4 *)0x0;" (assignment_expression "puStack_7c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_78 = 0;" (assignment_expression "uStack_78 = 0" identifier = number_literal) ;) (if_statement "if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;" if (parenthesized_expression "((DAT_00093c80 & 3) == 2)" ( (binary_expression "(DAT_00093c80 & 3) == 2" (parenthesized_expression "(DAT_00093c80 & 3)" ( (binary_expression "DAT_00093c80 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto code_r0x000226bf;" goto statement_identifier ;)) }) (else_clause "else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }" else (compound_statement "{\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }" { (labeled_statement "code_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;" statement_identifier : (expression_statement "bVar22 = (byte)DAT_0009386c & 0x1f;" (assignment_expression "bVar22 = (byte)DAT_0009386c & 0x1f" identifier = (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;)) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f)" identifier = (binary_expression "*(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f)" (pointer_expression "*(uint *)(puStack_84 + 0x30)" * (cast_expression "(uint *)(puStack_84 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x30)" ( (binary_expression "puStack_84 + 0x30" identifier + number_literal) )))) >> (parenthesized_expression "((byte)DAT_0009386c & 0x1f)" ( (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);" (assignment_expression "puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22)" identifier = (cast_expression "(undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22)" ( (binary_expression "*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22" (binary_expression "*(uint *)(puStack_84 + 0x2c) >> bVar22" (pointer_expression "*(uint *)(puStack_84 + 0x2c)" * (cast_expression "(uint *)(puStack_84 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x2c)" ( (binary_expression "puStack_84 + 0x2c" identifier + number_literal) )))) >> identifier) | (binary_expression "*(uint *)(puStack_84 + 0x30) << 0x20 - bVar22" (pointer_expression "*(uint *)(puStack_84 + 0x30)" * (cast_expression "(uint *)(puStack_84 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x30)" ( (binary_expression "puStack_84 + 0x30" identifier + number_literal) )))) << (binary_expression "0x20 - bVar22" number_literal - identifier))) )))) ;) (expression_statement "uStack_78 = uVar11;" (assignment_expression "uStack_78 = uVar11" identifier = identifier) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }" { (expression_statement "uStack_78 = 0;" (assignment_expression "uStack_78 = 0" identifier = number_literal) ;) (expression_statement "puStack_7c = (undefined4 *)uVar11;" (assignment_expression "puStack_7c = (undefined4 *)uVar11" identifier = (cast_expression "(undefined4 *)uVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }))) (expression_statement "local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);" (assignment_expression "local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c)" identifier = (binary_expression "lVar34 + CONCAT44(uStack_78,puStack_7c)" identifier + (call_expression "CONCAT44(uStack_78,puStack_7c)" identifier (argument_list "(uStack_78,puStack_7c)" ( identifier , identifier ))))) ;) (if_statement "if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }" if (parenthesized_expression "(local_9c[0xd] != 0)" ( (binary_expression "local_9c[0xd] != 0" (subscript_expression "local_9c[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }" { (expression_statement "FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);" (call_expression "FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34)" identifier (argument_list "(local_9c[0xd],puVar6 + 0x180,&local_34)" ( (subscript_expression "local_9c[0xd]" identifier [ number_literal ]) , (binary_expression "puVar6 + 0x180" identifier + number_literal) , (pointer_expression "&local_34" & identifier) ))) ;) })) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }" if (parenthesized_expression "((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0))" ( (binary_expression "(local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)" (parenthesized_expression "(local_9c[8] != 0)" ( (binary_expression "local_9c[8] != 0" (subscript_expression "local_9c[8]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)" ( (comma_expression "iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0" (assignment_expression "iVar14 = local_9c[7]" identifier = (subscript_expression "local_9c[7]" identifier [ number_literal ])) , (binary_expression "(*(byte *)(iVar14 + 0x14) & 3) != 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x14) & 3)" ( (binary_expression "*(byte *)(iVar14 + 0x14) & 3" (pointer_expression "*(byte *)(iVar14 + 0x14)" * (cast_expression "(byte *)(iVar14 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }" { (expression_statement "*(longlong *)(local_9c[8] + 0x24) = local_34;" (assignment_expression "*(longlong *)(local_9c[8] + 0x24) = local_34" (pointer_expression "*(longlong *)(local_9c[8] + 0x24)" * (cast_expression "(longlong *)(local_9c[8] + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c[8] + 0x24)" ( (binary_expression "local_9c[8] + 0x24" (subscript_expression "local_9c[8]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (if_statement "if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }" { (expression_statement "FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));" (call_expression "FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20))" identifier (argument_list "(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20))" ( (pointer_expression "*(undefined4 *)(iVar14 + 0x1c)" * (cast_expression "(undefined4 *)(iVar14 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar14 + 0x20)" * (cast_expression "(undefined4 *)(iVar14 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar14 = local_9c[9];" (assignment_expression "iVar14 = local_9c[9]" identifier = (subscript_expression "local_9c[9]" identifier [ number_literal ])) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }" if (parenthesized_expression "(((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0))))" ( (binary_expression "((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))" (parenthesized_expression "((iVar14 != 0) && (iVar14 != local_9c[8]))" ( (binary_expression "(iVar14 != 0) && (iVar14 != local_9c[8])" (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar14 != local_9c[8])" ( (binary_expression "iVar14 != local_9c[8]" identifier != (subscript_expression "local_9c[8]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))" ( (parenthesized_expression "(iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0))" ( (comma_expression "iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)" (assignment_expression "iVar10 = local_9c[7]" identifier = (subscript_expression "local_9c[7]" identifier [ number_literal ])) , (binary_expression "(*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)" (binary_expression "(*(byte *)(iVar10 + 0x14) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x14) & 2)" ( (binary_expression "*(byte *)(iVar10 + 0x14) & 2" (pointer_expression "*(byte *)(iVar10 + 0x14)" * (cast_expression "(byte *)(iVar10 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 0x40) != 0)" ( (binary_expression "(*(byte *)(local_9c + 0x15) & 0x40) != 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 0x40)" ( (binary_expression "*(byte *)(local_9c + 0x15) & 0x40" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal) )) != number_literal) )))) )) ))) )) (compound_statement "{\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }" { (expression_statement "uVar11 = *(uint *)(iVar10 + 0x24);" (assignment_expression "uVar11 = *(uint *)(iVar10 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x24)" * (cast_expression "(uint *)(iVar10 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x24)" ( (binary_expression "iVar10 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(iVar10 + 0x28);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x28)" identifier = (pointer_expression "*(int *)(iVar10 + 0x28)" * (cast_expression "(int *)(iVar10 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x28)" ( (binary_expression "iVar10 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11" (pointer_expression "*(uint *)(iVar14 + 0x24)" * (cast_expression "(uint *)(iVar14 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) )))) = (binary_expression "(int)puStack_7c + uVar11" (cast_expression "(int)puStack_7c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "*(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);" (assignment_expression "*(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11)" (pointer_expression "*(uint *)(iVar14 + 0x28)" * (cast_expression "(uint *)(iVar14 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))) = (binary_expression "uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11)" (binary_expression "uStack_78 + iVar10" identifier + identifier) + (cast_expression "(uint)CARRY4((uint)puStack_7c,uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)puStack_7c,uVar11)" identifier (argument_list "((uint)puStack_7c,uVar11)" ( (cast_expression "(uint)puStack_7c" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))))) ;) (if_statement "if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }" { (expression_statement "FUN_0001f1f0(uVar11,iVar10);" (call_expression "FUN_0001f1f0(uVar11,iVar10)" identifier (argument_list "(uVar11,iVar10)" ( identifier , identifier ))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })) })) })) })) }))) })) })) (break_statement "break;" break ;)) (case_statement "case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;" case number_literal : (expression_statement "iVar14 = local_9c[2];" (assignment_expression "iVar14 = local_9c[2]" identifier = (subscript_expression "local_9c[2]" identifier [ number_literal ])) ;) (expression_statement "iRam00093e8c = 0;" (assignment_expression "iRam00093e8c = 0" identifier = number_literal) ;) (expression_statement "uStack_24 = lVar34;" (assignment_expression "uStack_24 = lVar34" identifier = identifier) ;) (expression_statement "FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);" (call_expression "FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24)" identifier (argument_list "(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24)" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x1c)" * (cast_expression "(undefined4 *)(param_2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) , (pointer_expression "&uStack_24" & identifier) ))) ;) (expression_statement "piVar25 = DAT_00093e90;" (assignment_expression "piVar25 = DAT_00093e90" identifier = identifier) ;) (expression_statement "piVar8 = DAT_00093e94;" (assignment_expression "piVar8 = DAT_00093e94" identifier = identifier) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" if (parenthesized_expression "(iRam00093e8c == 1)" ( (binary_expression "iRam00093e8c == 1" identifier == number_literal) )) (compound_statement "{\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }" { (expression_statement "piVar25 = local_9c;" (assignment_expression "piVar25 = local_9c" identifier = identifier) ;) (if_statement "if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }" if (parenthesized_expression "((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c))" ( (binary_expression "(DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)" (parenthesized_expression "(DAT_00093e90 != (int *)0x0)" ( (binary_expression "DAT_00093e90 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)" ( (comma_expression "piVar25 = DAT_00093e90, DAT_00093e90 != local_9c" (assignment_expression "piVar25 = DAT_00093e90" identifier = identifier) , (binary_expression "DAT_00093e90 != local_9c" identifier != identifier)) ))) )) (compound_statement "{\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }" { (expression_statement "uVar16 = 0x137c;" (assignment_expression "uVar16 = 0x137c" identifier = number_literal) ;) (goto_statement "goto code_r0x0002296b;" goto statement_identifier ;) })) }) (else_clause "else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" else (if_statement "if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" if (parenthesized_expression "(((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c))" ( (binary_expression "((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)" (parenthesized_expression "((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0))" ( (binary_expression "(iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)" (parenthesized_expression "(iRam00093e8c == 2)" ( (binary_expression "iRam00093e8c == 2" identifier == number_literal) )) && (parenthesized_expression "(piVar8 = local_9c, DAT_00093e94 != (int *)0x0)" ( (comma_expression "piVar8 = local_9c, DAT_00093e94 != (int *)0x0" (assignment_expression "piVar8 = local_9c" identifier = identifier) , (binary_expression "DAT_00093e94 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)" ( (comma_expression "piVar8 = DAT_00093e94, DAT_00093e94 != local_9c" (assignment_expression "piVar8 = DAT_00093e94" identifier = identifier) , (binary_expression "DAT_00093e94 != local_9c" identifier != identifier)) ))) )) (compound_statement "{\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" { (expression_statement "uVar16 = 0x1385;" (assignment_expression "uVar16 = 0x1385" identifier = number_literal) ;) (labeled_statement "code_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);" statement_identifier : (expression_statement "FUN_00032bf0("../../ld/ldlang.c",uVar16);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",uVar16)" identifier (argument_list "("../../ld/ldlang.c",uVar16)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , identifier ))) ;)) (expression_statement "piVar25 = DAT_00093e90;" (assignment_expression "piVar25 = DAT_00093e90" identifier = identifier) ;) (expression_statement "piVar8 = DAT_00093e94;" (assignment_expression "piVar8 = DAT_00093e94" identifier = identifier) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })))) (expression_statement "DAT_00093e94 = piVar8;" (assignment_expression "DAT_00093e94 = piVar8" identifier = identifier) ;) (expression_statement "DAT_00093e90 = piVar25;" (assignment_expression "DAT_00093e90 = piVar25" identifier = identifier) ;) (expression_statement "iRam00093e8c = 0;" (assignment_expression "iRam00093e8c = 0" identifier = number_literal) ;) (if_statement "if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }" if (parenthesized_expression "(((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0'))))" ( (binary_expression "((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))" (parenthesized_expression "((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4)" ( (binary_expression "(*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4" (parenthesized_expression "(*(uint *)(iVar14 + 0xc) & 0xfffffffd)" ( (binary_expression "*(uint *)(iVar14 + 0xc) & 0xfffffffd" (pointer_expression "*(uint *)(iVar14 + 0xc)" * (cast_expression "(uint *)(iVar14 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xc)" ( (binary_expression "iVar14 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))" ( (parenthesized_expression "(**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0'))" ( (binary_expression "**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')" (binary_expression "**(char **)(iVar14 + 0x10) != '.'" (pointer_expression "**(char **)(iVar14 + 0x10)" * (pointer_expression "*(char **)(iVar14 + 0x10)" * (cast_expression "(char **)(iVar14 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x10)" ( (binary_expression "iVar14 + 0x10" identifier + number_literal) ))))) != (char_literal "'.'" ' character ')) || (parenthesized_expression "((*(char **)(iVar14 + 0x10))[1] != '\0')" ( (binary_expression "(*(char **)(iVar14 + 0x10))[1] != '\0'" (subscript_expression "(*(char **)(iVar14 + 0x10))[1]" (parenthesized_expression "(*(char **)(iVar14 + 0x10))" ( (pointer_expression "*(char **)(iVar14 + 0x10)" * (cast_expression "(char **)(iVar14 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x10)" ( (binary_expression "iVar14 + 0x10" identifier + number_literal) )))) )) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }" { (expression_statement "*(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;" (assignment_expression "*(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10" (pointer_expression "*(byte *)(param_2 + 0x54)" * (cast_expression "(byte *)(param_2 + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_2 + 0x54) | 0x10" (pointer_expression "*(byte *)(param_2 + 0x54)" * (cast_expression "(byte *)(param_2 + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) | number_literal)) ;) })) (if_statement "if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }" if (parenthesized_expression "((*(byte *)(param_2 + 0x54) & 8) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0x54) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x54) & 8)" ( (binary_expression "*(byte *)(param_2 + 0x54) & 8" (pointer_expression "*(byte *)(param_2 + 0x54)" * (cast_expression "(byte *)(param_2 + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }" { (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (if_statement "if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" if (parenthesized_expression "(DAT_00093c2c == param_2)" ( (binary_expression "DAT_00093c2c == param_2" identifier == identifier) )) (compound_statement "{\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }" { (expression_statement "iVar14 = FUN_00021e10("*default*",0);" (assignment_expression "iVar14 = FUN_00021e10("*default*",0)" identifier = (call_expression "FUN_00021e10("*default*",0)" identifier (argument_list "("*default*",0)" ( (string_literal ""*default*"" " string_content ") , number_literal )))) ;) (expression_statement "*(longlong *)(iVar14 + 0x24) = uStack_24;" (assignment_expression "*(longlong *)(iVar14 + 0x24) = uStack_24" (pointer_expression "*(longlong *)(iVar14 + 0x24)" * (cast_expression "(longlong *)(iVar14 + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar34 = uStack_24;" (assignment_expression "lVar34 = uStack_24" identifier = identifier) ;) }) (else_clause "else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" else (if_statement "if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" if (parenthesized_expression "(lVar34 != uStack_24)" ( (binary_expression "lVar34 != uStack_24" identifier != identifier) )) (compound_statement "{\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" { (expression_statement "uVar11 = (uint)(uStack_24 - lVar34);" (assignment_expression "uVar11 = (uint)(uStack_24 - lVar34)" identifier = (call_expression "(uint)(uStack_24 - lVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_24 - lVar34)" ( (binary_expression "uStack_24 - lVar34" identifier - identifier) )))) ;) (expression_statement "bVar22 = (byte)DAT_0009386c & 0x1f;" (assignment_expression "bVar22 = (byte)DAT_0009386c & 0x1f" identifier = (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);" (assignment_expression "uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f)" identifier = (binary_expression "uVar11 << ((byte)DAT_0009386c & 0x1f)" identifier << (parenthesized_expression "((byte)DAT_0009386c & 0x1f)" ( (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar13 = uVar12;" (assignment_expression "uVar13 = uVar12" identifier = identifier) ;) (expression_statement "uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;" (assignment_expression "uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22" identifier = (binary_expression "(int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22" (binary_expression "(int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22" (cast_expression "(int)((ulonglong)(uStack_24 - lVar34) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(uStack_24 - lVar34) >> 0x20)" ( (binary_expression "(ulonglong)(uStack_24 - lVar34) >> 0x20" (call_expression "(ulonglong)(uStack_24 - lVar34)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uStack_24 - lVar34)" ( (binary_expression "uStack_24 - lVar34" identifier - identifier) ))) >> number_literal) ))) << identifier) | (binary_expression "uVar11 >> 0x20 - bVar22" identifier >> (binary_expression "0x20 - bVar22" number_literal - identifier)))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) })) (expression_statement "FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);" (call_expression "FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34)" identifier (argument_list "(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34)" ( identifier , identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x1c)" * (cast_expression "(undefined4 *)(param_2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "local_9c = (int *)*local_9c;" (assignment_expression "local_9c = (int *)*local_9c" identifier = (cast_expression "(int *)*local_9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_9c" * identifier))) ;) (expression_statement "lVar34 = uStack_24;" (assignment_expression "lVar34 = uStack_24" identifier = identifier) ;) (if_statement "if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }" if (parenthesized_expression "((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5))))" ( (binary_expression "(*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))" (parenthesized_expression "(*(int *)(param_2 + 0x50) != 3)" ( (binary_expression "*(int *)(param_2 + 0x50) != 3" (pointer_expression "*(int *)(param_2 + 0x50)" * (cast_expression "(int *)(param_2 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))" ( (parenthesized_expression "(*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5))" ( (binary_expression "*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)" (binary_expression "*(int *)(param_2 + 0x50) != 2" (pointer_expression "*(int *)(param_2 + 0x50)" * (cast_expression "(int *)(param_2 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) != number_literal) || (parenthesized_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00093cb4 + 4) + 4)" ( (binary_expression "*(int *)(DAT_00093cb4 + 4) + 4" (pointer_expression "*(int *)(DAT_00093cb4 + 4)" * (cast_expression "(int *)(DAT_00093cb4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093cb4 + 4)" ( (binary_expression "DAT_00093cb4 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) ))) )) (compound_statement "{\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }" { (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x14)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x14" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 | 1;" (assignment_expression "*puVar1 = *puVar1 | 1" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 1" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) })) })))) })) (break_statement "break;" break ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0xe:\n    goto code_r0x0002200c;" case number_literal : (goto_statement "goto code_r0x0002200c;" goto statement_identifier ;)) (case_statement "case 4:\n    goto code_r0x00022351;" case number_literal : (goto_statement "goto code_r0x00022351;" goto statement_identifier ;)) (case_statement "case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;" case number_literal : (if_statement "if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }" if (parenthesized_expression "(param_5 != (undefined4 *)0x0)" ( (binary_expression "param_5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }" { (expression_statement "iVar14 = *(int *)(local_9c[2] + 0xac);" (assignment_expression "iVar14 = *(int *)(local_9c[2] + 0xac)" identifier = (pointer_expression "*(int *)(local_9c[2] + 0xac)" * (cast_expression "(int *)(local_9c[2] + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c[2] + 0xac)" ( (binary_expression "local_9c[2] + 0xac" (subscript_expression "local_9c[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);" (assignment_expression "iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24)" identifier = (call_expression "(**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24)" (parenthesized_expression "(**(code **)(*(int *)(iVar14 + 4) + 0x164))" ( (pointer_expression "**(code **)(*(int *)(iVar14 + 4) + 0x164)" * (pointer_expression "*(code **)(*(int *)(iVar14 + 4) + 0x164)" * (cast_expression "(code **)(*(int *)(iVar14 + 4) + 0x164)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar14 + 4) + 0x164)" ( (binary_expression "*(int *)(iVar14 + 4) + 0x164" (pointer_expression "*(int *)(iVar14 + 4)" * (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24)" ( identifier , (subscript_expression "local_9c[2]" identifier [ number_literal ]) , identifier , (pointer_expression "&uStack_24" & identifier) )))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }" { (expression_statement "uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);" (assignment_expression "uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: can\'t relax section: %E\n",5)" identifier (argument_list "(0,"%F%P: can\'t relax section: %E\n",5)" ( number_literal , (string_literal ""%F%P: can\'t relax section: %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032ba0(uVar16);" (call_expression "FUN_00032ba0(uVar16)" identifier (argument_list "(uVar16)" ( identifier ))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })) (if_statement "if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }" if (parenthesized_expression "((int)uStack_24 != 0)" ( (binary_expression "(int)uStack_24 != 0" (cast_expression "(int)uStack_24" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n        *param_5 = 1;\n      }" { (expression_statement "*param_5 = 1;" (assignment_expression "*param_5 = 1" (pointer_expression "*param_5" * identifier) = number_literal) ;) })) })) (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar14 = *(int *)(*param_1 + 8);" (assignment_expression "iVar14 = *(int *)(*param_1 + 8)" identifier = (pointer_expression "*(int *)(*param_1 + 8)" * (cast_expression "(int *)(*param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar10 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" if (parenthesized_expression "((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200)" ( (binary_expression "(*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200" (parenthesized_expression "(*(ushort *)(iVar14 + 0x18) & 0x380)" ( (binary_expression "*(ushort *)(iVar14 + 0x18) & 0x380" (pointer_expression "*(ushort *)(iVar14 + 0x18)" * (cast_expression "(ushort *)(iVar14 + 0x18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x18)" ( (binary_expression "iVar14 + 0x18" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }" { (expression_statement "uVar11 = *(uint *)(iVar10 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(iVar10 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x1c)" * (cast_expression "(uint *)(iVar10 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));" (assignment_expression "*(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (pointer_expression "*(uint *)(iVar14 + 0x50)" * (cast_expression "(uint *)(iVar14 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x50)" ( (binary_expression "iVar14 + 0x50" identifier + number_literal) )))) = (binary_expression "(*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20))" ( (binary_expression "*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)" (pointer_expression "*(int *)(iVar14 + 0x20)" * (cast_expression "(int *)(iVar14 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) ))))) )) - (call_expression "(uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" ( (binary_expression "*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))) < (pointer_expression "*(uint *)(iVar10 + 0x1c)" * (cast_expression "(uint *)(iVar10 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11" (pointer_expression "*(uint *)(iVar14 + 0x4c)" * (cast_expression "(uint *)(iVar14 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x4c)" ( (binary_expression "iVar14 + 0x4c" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar14 + 0x1c) - uVar11" (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))) - identifier)) ;) }) (else_clause "else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" else (if_statement "if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" if (parenthesized_expression "(((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0))" ( (binary_expression "((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)" (parenthesized_expression "((*(byte *)(iVar14 + 0x15) & 0x80) == 0)" ( (binary_expression "(*(byte *)(iVar14 + 0x15) & 0x80) == 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x15) & 0x80)" ( (binary_expression "*(byte *)(iVar14 + 0x15) & 0x80" (pointer_expression "*(byte *)(iVar14 + 0x15)" * (cast_expression "(byte *)(iVar14 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x15)" ( (binary_expression "iVar14 + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(param_2 + 0x54) & 8) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0x54) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x54) & 8)" ( (binary_expression "*(byte *)(param_2 + 0x54) & 8" (pointer_expression "*(byte *)(param_2 + 0x54)" * (cast_expression "(byte *)(param_2 + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }" { (expression_statement "uVar11 = *(uint *)(param_2 + 0x40);" (assignment_expression "uVar11 = *(uint *)(param_2 + 0x40)" identifier = (pointer_expression "*(uint *)(param_2 + 0x40)" * (cast_expression "(uint *)(param_2 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x40)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }" if (parenthesized_expression "(uVar11 == 0xffffffff)" ( (binary_expression "uVar11 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }" { (expression_statement "uVar11 = *(uint *)(iVar14 + 0x58);" (assignment_expression "uVar11 = *(uint *)(iVar14 + 0x58)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x58)" * (cast_expression "(uint *)(iVar14 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }" else (compound_statement "{\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }" { (expression_statement "*(uint *)(iVar14 + 0x58) = uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x58) = uVar11" (pointer_expression "*(uint *)(iVar14 + 0x58)" * (cast_expression "(uint *)(iVar14 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }" if (parenthesized_expression "(*(uint *)(iVar10 + 0x58) < uVar11)" ( (binary_expression "*(uint *)(iVar10 + 0x58) < uVar11" (pointer_expression "*(uint *)(iVar10 + 0x58)" * (cast_expression "(uint *)(iVar10 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x58)" ( (binary_expression "iVar10 + 0x58" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }" { (expression_statement "*(uint *)(iVar10 + 0x58) = uVar11;" (assignment_expression "*(uint *)(iVar10 + 0x58) = uVar11" (pointer_expression "*(uint *)(iVar10 + 0x58)" * (cast_expression "(uint *)(iVar10 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x58)" ( (binary_expression "iVar10 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar11 = *(uint *)(iVar14 + 0x58);" (assignment_expression "uVar11 = *(uint *)(iVar14 + 0x58)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x58)" * (cast_expression "(uint *)(iVar14 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) ))))) ;) })) (expression_statement "bVar22 = (byte)uVar11 & 0x1f;" (assignment_expression "bVar22 = (byte)uVar11 & 0x1f" identifier = (binary_expression "(byte)uVar11 & 0x1f" (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar15 = 1 << ((byte)uVar11 & 0x1f);" (assignment_expression "uVar15 = 1 << ((byte)uVar11 & 0x1f)" identifier = (binary_expression "1 << ((byte)uVar11 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar11 & 0x1f)" ( (binary_expression "(byte)uVar11 & 0x1f" (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar13 = uVar15;" (assignment_expression "uVar13 = uVar15" identifier = identifier) ;) (expression_statement "uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;" (assignment_expression "uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22" identifier = (binary_expression "0 << bVar22 | 1U >> 0x20 - bVar22" (binary_expression "0 << bVar22" number_literal << identifier) | (binary_expression "1U >> 0x20 - bVar22" number_literal >> (binary_expression "0x20 - bVar22" number_literal - identifier)))) ;) (if_statement "if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }" if (parenthesized_expression "((uVar11 & 0x20) != 0)" ( (binary_expression "(uVar11 & 0x20) != 0" (parenthesized_expression "(uVar11 & 0x20)" ( (binary_expression "uVar11 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) })) (expression_statement "lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);" (assignment_expression "lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13)" identifier = (binary_expression "lVar34 + -1 + CONCAT44(uVar12,uVar13)" (binary_expression "lVar34 + -1" identifier + number_literal) + (call_expression "CONCAT44(uVar12,uVar13)" identifier (argument_list "(uVar12,uVar13)" ( identifier , identifier ))))) ;) (expression_statement "uVar15 = (uint)lVar3 & -uVar13;" (assignment_expression "uVar15 = (uint)lVar3 & -uVar13" identifier = (binary_expression "(uint)lVar3 & -uVar13" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-uVar13" - identifier))) ;) (expression_statement "uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);" (assignment_expression "uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20)" identifier = (binary_expression "-(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20)" (unary_expression "-(uVar12 + (uVar13 != 0))" - (parenthesized_expression "(uVar12 + (uVar13 != 0))" ( (binary_expression "uVar12 + (uVar13 != 0)" identifier + (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) ))) ))) & (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) (expression_statement "uVar11 = uVar15 - (uint)local_34;" (assignment_expression "uVar11 = uVar15 - (uint)local_34" identifier = (binary_expression "uVar15 - (uint)local_34" identifier - (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);" (assignment_expression "iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34)" identifier = (binary_expression "(uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34)" (parenthesized_expression "(uVar13 - local_34._4_4_)" ( (binary_expression "uVar13 - local_34._4_4_" identifier - (field_expression "local_34._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)(uVar15 < (uint)local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 < (uint)local_34)" ( (binary_expression "uVar15 < (uint)local_34" identifier < (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) ;) (expression_statement "lVar3 = lVar34;" (assignment_expression "lVar3 = lVar34" identifier = identifier) ;) (if_statement "if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }" if (parenthesized_expression "(iVar24 != 0 || uVar11 != 0)" ( (binary_expression "iVar24 != 0 || uVar11 != 0" (binary_expression "iVar24 != 0" identifier != number_literal) || (binary_expression "uVar11 != 0" identifier != number_literal)) )) (compound_statement "{\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }" { (expression_statement "puStack_7c._0_1_ = (byte)DAT_0009386c;" (assignment_expression "puStack_7c._0_1_ = (byte)DAT_0009386c" (field_expression "puStack_7c._0_1_" identifier . field_identifier) = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar19 = uVar11 << ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "uVar11 << ((byte)puStack_7c & 0x1f)" identifier << (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar19;" (assignment_expression "uVar12 = uVar19" identifier = identifier) ;) (expression_statement "uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (binary_expression "iVar24 << ((byte)puStack_7c & 0x1f)" identifier << (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" identifier >> (binary_expression "0x20 - ((byte)puStack_7c & 0x1f)" number_literal - (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar19;" (assignment_expression "uVar11 = uVar19" identifier = identifier) ;) })) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (expression_statement "FUN_00021870(uVar12,uVar11,iVar10,lVar34);" (call_expression "FUN_00021870(uVar12,uVar11,iVar10,lVar34)" identifier (argument_list "(uVar12,uVar11,iVar10,lVar34)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "lVar3 = CONCAT44(uVar13,uVar15);" (assignment_expression "lVar3 = CONCAT44(uVar13,uVar15)" identifier = (call_expression "CONCAT44(uVar13,uVar15)" identifier (argument_list "(uVar13,uVar15)" ( identifier , identifier )))) ;) })) (expression_statement "uVar13 = DAT_0009386c;" (assignment_expression "uVar13 = DAT_0009386c" identifier = identifier) ;) (expression_statement "lVar5 = *(longlong *)(iVar10 + 0x1c);" (assignment_expression "lVar5 = *(longlong *)(iVar10 + 0x1c)" identifier = (pointer_expression "*(longlong *)(iVar10 + 0x1c)" * (cast_expression "(longlong *)(iVar10 + 0x1c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c._0_1_ = (byte)DAT_0009386c;" (assignment_expression "puStack_7c._0_1_ = (byte)DAT_0009386c" (field_expression "puStack_7c._0_1_" identifier . field_identifier) = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;" (assignment_expression "*(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5" (pointer_expression "*(longlong *)(iVar14 + 0x4c)" * (cast_expression "(longlong *)(iVar14 + 0x4c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x4c)" ( (binary_expression "iVar14 + 0x4c" identifier + number_literal) )))) = (binary_expression "lVar3 - lVar5" identifier - identifier)) ;) (expression_statement "uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "*(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) >> (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) (expression_statement "uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "*(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f)" (binary_expression "*(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x2c)" * (cast_expression "(uint *)(iVar14 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) >> (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "*(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) << (binary_expression "0x20 - ((byte)puStack_7c & 0x1f)" number_literal - (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }" if (parenthesized_expression "((uVar13 & 0x20) != 0)" ( (binary_expression "(uVar13 & 0x20) != 0" (parenthesized_expression "(uVar13 & 0x20)" ( (binary_expression "uVar13 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar15;" (assignment_expression "uVar11 = uVar15" identifier = identifier) ;) })) (expression_statement "lVar4 = CONCAT44(uVar12,uVar11);" (assignment_expression "lVar4 = CONCAT44(uVar12,uVar11)" identifier = (call_expression "CONCAT44(uVar12,uVar11)" identifier (argument_list "(uVar12,uVar11)" ( identifier , identifier )))) ;) (expression_statement "lVar34 = lVar3 + lVar4;" (assignment_expression "lVar34 = lVar3 + lVar4" identifier = (binary_expression "lVar3 + lVar4" identifier + identifier)) ;) (if_statement "if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }" if (parenthesized_expression "((*(byte *)(iVar10 + 0x15) & 8) == 0)" ( (binary_expression "(*(byte *)(iVar10 + 0x15) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x15) & 8)" ( (binary_expression "*(byte *)(iVar10 + 0x15) & 8" (pointer_expression "*(byte *)(iVar10 + 0x15)" * (cast_expression "(byte *)(iVar10 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x15)" ( (binary_expression "iVar10 + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }" { (expression_statement "lVar5 = (lVar3 + lVar4) - lVar5;" (assignment_expression "lVar5 = (lVar3 + lVar4) - lVar5" identifier = (binary_expression "(lVar3 + lVar4) - lVar5" (parenthesized_expression "(lVar3 + lVar4)" ( (binary_expression "lVar3 + lVar4" identifier + identifier) )) - identifier)) ;) (expression_statement "uVar11 = (uint)lVar5;" (assignment_expression "uVar11 = (uint)lVar5" identifier = (cast_expression "(uint)lVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar15 = uVar11 << ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "uVar11 << ((byte)puStack_7c & 0x1f)" identifier << (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) (expression_statement "uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "(int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (binary_expression "(int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f)" (cast_expression "(int)((ulonglong)lVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar5 >> 0x20)" ( (binary_expression "(ulonglong)lVar5 >> 0x20" (cast_expression "(ulonglong)lVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" identifier >> (binary_expression "0x20 - ((byte)puStack_7c & 0x1f)" number_literal - (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }" if (parenthesized_expression "((uVar13 & 0x20) != 0)" ( (binary_expression "(uVar13 & 0x20) != 0" (parenthesized_expression "(uVar13 & 0x20)" ( (binary_expression "uVar13 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar15;" (assignment_expression "uVar11 = uVar15" identifier = identifier) ;) })) (expression_statement "*(uint *)(iVar10 + 0x30) = uVar11;" (assignment_expression "*(uint *)(iVar10 + 0x30) = uVar11" (pointer_expression "*(uint *)(iVar10 + 0x30)" * (cast_expression "(uint *)(iVar10 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar10 + 0x2c) = uVar12;" (assignment_expression "*(uint *)(iVar10 + 0x2c) = uVar12" (pointer_expression "*(uint *)(iVar10 + 0x2c)" * (cast_expression "(uint *)(iVar10 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar34 = lVar3 + lVar4;" (assignment_expression "lVar34 = lVar3 + lVar4" identifier = (binary_expression "lVar3 + lVar4" identifier + identifier)) ;) })) }) (else_clause "else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" else (compound_statement "{\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" { (expression_statement "uVar11 = *(uint *)(iVar10 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(iVar10 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x1c)" * (cast_expression "(uint *)(iVar10 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));" (assignment_expression "*(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (pointer_expression "*(uint *)(iVar14 + 0x50)" * (cast_expression "(uint *)(iVar14 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x50)" ( (binary_expression "iVar14 + 0x50" identifier + number_literal) )))) = (binary_expression "(local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(local_34._4_4_ - *(int *)(iVar10 + 0x20))" ( (binary_expression "local_34._4_4_ - *(int *)(iVar10 + 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) ))))) )) - (call_expression "(uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < *(uint *)(iVar10 + 0x1c))" ( (binary_expression "(uint)local_34 < *(uint *)(iVar10 + 0x1c)" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*(uint *)(iVar10 + 0x1c)" * (cast_expression "(uint *)(iVar10 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11" (pointer_expression "*(uint *)(iVar14 + 0x4c)" * (cast_expression "(uint *)(iVar14 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x4c)" ( (binary_expression "iVar14 + 0x4c" identifier + number_literal) )))) = (binary_expression "(uint)local_34 - uVar11" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - identifier)) ;) }))))) (break_statement "break;" break ;)) (case_statement "case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;" case number_literal : (expression_statement "uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);" (assignment_expression "uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x1c)" * (cast_expression "(undefined4 *)(param_2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (goto_statement "goto code_r0x0002200c;" goto statement_identifier ;)) (case_statement "case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;" case number_literal : (expression_statement "local_9c[4] = *(int *)(param_2 + 0x1c);" (assignment_expression "local_9c[4] = *(int *)(param_2 + 0x1c)" (subscript_expression "local_9c[4]" identifier [ number_literal ]) = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;" case number_literal : (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x1c)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x1c" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);" (assignment_expression "iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(param_2 + 0x1c) + 0x20)" * (cast_expression "(int *)(*(int *)(param_2 + 0x1c) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x20)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "local_9c[7] = (uint)local_34 - *puVar1;" (assignment_expression "local_9c[7] = (uint)local_34 - *puVar1" (subscript_expression "local_9c[7]" identifier [ number_literal ]) = (binary_expression "(uint)local_34 - *puVar1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);" (assignment_expression "local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11)" (subscript_expression "local_9c[8]" identifier [ number_literal ]) = (binary_expression "(local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11)" (parenthesized_expression "(local_34._4_4_ - iVar14)" ( (binary_expression "local_34._4_4_ - iVar14" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier) )) - (call_expression "(uint)((uint)local_34 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < uVar11)" ( (binary_expression "(uint)local_34 < uVar11" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) ;) (expression_statement "local_9c[6] = *(int *)(param_2 + 0x1c);" (assignment_expression "local_9c[6] = *(int *)(param_2 + 0x1c)" (subscript_expression "local_9c[6]" identifier [ number_literal ]) = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "FUN_000308d0(local_9c[3],puVar9,&local_34);" (call_expression "FUN_000308d0(local_9c[3],puVar9,&local_34)" identifier (argument_list "(local_9c[3],puVar9,&local_34)" ( (subscript_expression "local_9c[3]" identifier [ number_literal ]) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (if_statement "if (4 < local_9c[2] - 0x11aU) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }" if (parenthesized_expression "(4 < local_9c[2] - 0x11aU)" ( (binary_expression "4 < local_9c[2] - 0x11aU" number_literal < (binary_expression "local_9c[2] - 0x11aU" (subscript_expression "local_9c[2]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }" { comment (expression_statement "FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);" (call_expression "FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT)" identifier (argument_list "("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal , (string_literal ""lang_size_sections_1"" " string_content ") , (pointer_expression "&__DT_PLTGOT" & identifier) ))) ;) })) (expression_statement "iVar14 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar14 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "bVar21 = (byte)DAT_0009386c;" (assignment_expression "bVar21 = (byte)DAT_0009386c" identifier = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar11 = 1 << (bVar21 & 0x1f);" (assignment_expression "uVar11 = 1 << (bVar21 & 0x1f)" identifier = (binary_expression "1 << (bVar21 & 0x1f)" number_literal << (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }" if (parenthesized_expression "(uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4))" ( (binary_expression "uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" identifier < (pointer_expression "*(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" * (cast_expression "(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" ( (binary_expression "&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4" (pointer_expression "&UNK_0004dc68" & identifier) + (binary_expression "(local_9c[2] - 0x11aU) * 4" (parenthesized_expression "(local_9c[2] - 0x11aU)" ( (binary_expression "local_9c[2] - 0x11aU" (subscript_expression "local_9c[2]" identifier [ number_literal ]) - number_literal) )) * number_literal)) ))))) )) (compound_statement "{\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }" { (expression_statement "uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);" (assignment_expression "uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" identifier = (pointer_expression "*(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" * (cast_expression "(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" ( (binary_expression "&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4" (pointer_expression "&UNK_0004dc68" & identifier) + (binary_expression "(local_9c[2] - 0x11aU) * 4" (parenthesized_expression "(local_9c[2] - 0x11aU)" ( (binary_expression "local_9c[2] - 0x11aU" (subscript_expression "local_9c[2]" identifier [ number_literal ]) - number_literal) )) * number_literal)) ))))) ;) })) (expression_statement "lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));" (assignment_expression "lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f))" identifier = (binary_expression "local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f))" identifier + (call_expression "(ulonglong)(uVar11 >> (bVar21 & 0x1f))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar11 >> (bVar21 & 0x1f))" ( (binary_expression "uVar11 >> (bVar21 & 0x1f)" identifier >> (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) ))) ))))) ;) (expression_statement "bVar22 = *(byte *)(iVar14 + 0x15);" (assignment_expression "bVar22 = *(byte *)(iVar14 + 0x15)" identifier = (pointer_expression "*(byte *)(iVar14 + 0x15)" * (cast_expression "(byte *)(iVar14 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x15)" ( (binary_expression "iVar14 + 0x15" identifier + number_literal) ))))) ;) (expression_statement "lVar3 = lVar34;" (assignment_expression "lVar3 = lVar34" identifier = identifier) ;) (goto_statement "goto joined_r0x00022089;" goto statement_identifier ;)) (case_statement "case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;" case number_literal : (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x1c)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x1c" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);" (assignment_expression "local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1)" (subscript_expression "local_9c[0xb]" identifier [ number_literal ]) = (binary_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20))" ( (binary_expression "local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)(*(int *)(param_2 + 0x1c) + 0x20)" * (cast_expression "(int *)(*(int *)(param_2 + 0x1c) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x20)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) )) - (call_expression "(uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < *puVar1)" ( (binary_expression "(uint)local_34 < *puVar1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*puVar1" * identifier)) ))))) ;) (expression_statement "local_9c[10] = (uint)local_34 - uVar11;" (assignment_expression "local_9c[10] = (uint)local_34 - uVar11" (subscript_expression "local_9c[10]" identifier [ number_literal ]) = (binary_expression "(uint)local_34 - uVar11" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - identifier)) ;) (expression_statement "local_9c[9] = *(int *)(param_2 + 0x1c);" (assignment_expression "local_9c[9] = *(int *)(param_2 + 0x1c)" (subscript_expression "local_9c[9]" identifier [ number_literal ]) = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = bfd_get_reloc_size(local_9c[3]);" (assignment_expression "iVar10 = bfd_get_reloc_size(local_9c[3])" identifier = (call_expression "bfd_get_reloc_size(local_9c[3])" identifier (argument_list "(local_9c[3])" ( (subscript_expression "local_9c[3]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar14 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar14 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "bVar21 = (byte)DAT_0009386c;" (assignment_expression "bVar21 = (byte)DAT_0009386c" identifier = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "iVar10 = iVar10 >> (bVar21 & 0x1f);" (assignment_expression "iVar10 = iVar10 >> (bVar21 & 0x1f)" identifier = (binary_expression "iVar10 >> (bVar21 & 0x1f)" identifier >> (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "lVar34 = local_34 + iVar10;" (assignment_expression "lVar34 = local_34 + iVar10" identifier = (binary_expression "local_34 + iVar10" identifier + identifier)) ;) (expression_statement "bVar22 = *(byte *)(iVar14 + 0x15);" (assignment_expression "bVar22 = *(byte *)(iVar14 + 0x15)" identifier = (pointer_expression "*(byte *)(iVar14 + 0x15)" * (cast_expression "(byte *)(iVar14 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x15)" ( (binary_expression "iVar14 + 0x15" identifier + number_literal) ))))) ;) (expression_statement "lVar3 = local_34 + iVar10;" (assignment_expression "lVar3 = local_34 + iVar10" identifier = (binary_expression "local_34 + iVar10" identifier + identifier)) ;) (labeled_statement "joined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }" statement_identifier : (if_statement "if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }" if (parenthesized_expression "((bVar22 & 8) == 0)" ( (binary_expression "(bVar22 & 8) == 0" (parenthesized_expression "(bVar22 & 8)" ( (binary_expression "bVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }" { (expression_statement "uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);" (assignment_expression "uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c)" identifier = (binary_expression "(uint)lVar3 - *(uint *)(iVar14 + 0x1c)" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) - (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "uVar12 = uVar11 << (bVar21 & 0x1f);" (assignment_expression "uVar12 = uVar11 << (bVar21 & 0x1f)" identifier = (binary_expression "uVar11 << (bVar21 & 0x1f)" identifier << (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar13 = uVar12;" (assignment_expression "uVar13 = uVar12" identifier = identifier) ;) (expression_statement "uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);" (assignment_expression "uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f)" identifier = (binary_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f)" (binary_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f)" (binary_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c))" (parenthesized_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20))" ( (binary_expression "(int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)" (cast_expression "(int)((ulonglong)lVar3 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) - (pointer_expression "*(int *)(iVar14 + 0x20)" * (cast_expression "(int *)(iVar14 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) )) - (call_expression "(uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar3 < *(uint *)(iVar14 + 0x1c))" ( (binary_expression "(uint)lVar3 < *(uint *)(iVar14 + 0x1c)" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) ))))) )))) << (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar11 >> 0x20 - (bVar21 & 0x1f)" identifier >> (binary_expression "0x20 - (bVar21 & 0x1f)" number_literal - (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }" if (parenthesized_expression "((bVar21 & 0x20) != 0)" ( (binary_expression "(bVar21 & 0x20) != 0" (parenthesized_expression "(bVar21 & 0x20)" ( (binary_expression "bVar21 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) })) (expression_statement "*(uint *)(iVar14 + 0x30) = uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x30) = uVar11" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar14 + 0x2c) = uVar13;" (assignment_expression "*(uint *)(iVar14 + 0x2c) = uVar13" (pointer_expression "*(uint *)(iVar14 + 0x2c)" * (cast_expression "(uint *)(iVar14 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar34 = lVar3;" (assignment_expression "lVar34 = lVar3" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;" case number_literal : (expression_statement "local_9c[4] = 0;" (assignment_expression "local_9c[4] = 0" (subscript_expression "local_9c[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[5] = 0;" (assignment_expression "local_9c[5] = 0" (subscript_expression "local_9c[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x1c)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x1c" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);" (assignment_expression "local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1)" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = (binary_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20))" ( (binary_expression "local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)(*(int *)(param_2 + 0x1c) + 0x20)" * (cast_expression "(int *)(*(int *)(param_2 + 0x1c) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x20)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) )) - (call_expression "(uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < *puVar1)" ( (binary_expression "(uint)local_34 < *puVar1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*puVar1" * identifier)) ))))) ;) (expression_statement "local_9c[2] = (uint)local_34 - uVar11;" (assignment_expression "local_9c[2] = (uint)local_34 - uVar11" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = (binary_expression "(uint)local_34 - uVar11" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n    goto code_r0x00022351;" case number_literal : (goto_statement "goto code_r0x00022351;" goto statement_identifier ;)) (case_statement "case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;" case number_literal : (labeled_statement "code_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);" statement_identifier : (expression_statement "lVar34 = FUN_00021f80(lVar34,param_5,param_6);" (assignment_expression "lVar34 = FUN_00021f80(lVar34,param_5,param_6)" identifier = (call_expression "FUN_00021f80(lVar34,param_5,param_6)" identifier (argument_list "(lVar34,param_5,param_6)" ( identifier , identifier , identifier )))) ;)) (break_statement "break;" break ;)) (case_statement "default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;" default : (expression_statement "FUN_00032bf0("../../ld/ldlang.c",0x15a7);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",0x15a7)" identifier (argument_list "("../../ld/ldlang.c",0x15a7)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;)) })) (labeled_statement "LAB_00022010:\n  piVar25 = (int *)*local_9c;" statement_identifier : (expression_statement "piVar25 = (int *)*local_9c;" (assignment_expression "piVar25 = (int *)*local_9c" identifier = (cast_expression "(int *)*local_9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_9c" * identifier))) ;)) (expression_statement "param_1 = local_9c;" (assignment_expression "param_1 = local_9c" identifier = identifier) ;) (goto_statement "goto joined_r0x00021fcf;" goto statement_identifier ;) (labeled_statement "code_r0x0002200c:\n  goto LAB_00022010;" statement_identifier : (goto_statement "goto LAB_00022010;" goto statement_identifier ;)) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nbfd_vma __regparm3\nlang_size_sections_1\n          (lang_statement_union_type **prev,\n          lang_output_section_statement_type *output_section_statement,fill_type *fill,bfd_vma dot,\n          bfd_boolean *relax,bfd_boolean check_regions)\n\n{\n  bfd_vma *pbVar1;\n  flagword *pfVar2;\n  bfd *pbVar3;\n  asection *output_section;\n  lang_statement_union *plVar4;\n  wildcard_list *pwVar5;\n  etree_type *tree;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  name_list *pnVar8;\n  bfd_size_type bVar9;\n  undefined *puVar10;\n  lang_memory_region_type *plVar11;\n  lang_statement_union *plVar12;\n  asection *current_section;\n  int iVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  bfd_boolean bVar18;\n  lang_statement_list_type *prev_00;\n  char *pcVar19;\n  etree_union *tree_00;\n  lang_memory_region_type *plVar20;\n  char *pcVar21;\n  byte bVar22;\n  byte bVar23;\n  undefined **extraout_ECX;\n  uint uVar24;\n  uint uVar25;\n  asection *paVar26;\n  undefined1 *puVar27;\n  uint uVar28;\n  uint uVar29;\n  uint uVar30;\n  byte *pbVar31;\n  byte *pbVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  bfd_vma bVar36;\n  undefined **ppuVar37;\n  lang_statement_union *local_9c;\n  fill_type *local_8c;\n  asection *local_84;\n  uint local_80;\n  asection *local_7c;\n  uint local_78;\n  uint local_6c;\n  lang_memory_region_type *local_64;\n  uint local_60;\n  uint local_54;\n  int local_50;\n  name_list *local_4c;\n  char *local_48;\n  undefined8 local_34;\n  bfd_boolean again;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x21f8b;\n  current_section = (asection *)(PTR__bfd_std_section_00092fb4 + 0x180);\n  plVar4 = *prev;\n  local_8c = fill;\njoined_r0x00021fcf:\n  local_9c = plVar4;\n  if (local_9c == (lang_statement_union *)0x0) {\n    return dot;\n  }\n  local_34._0_4_ = (uint)dot;\n  local_34._4_4_ = (uint)(dot >> 0x20);\n  local_34 = dot;\n  switch((local_9c->header).type) {\n  case lang_output_section_statement_enum:\n    if ((local_9c->output_section_statement).constraint != -1) {\n      tree_00 = (local_9c->output_section_statement).addr_tree;\n      if (tree_00 == (etree_union *)0x0) {\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }\n      else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }\n      puVar10 = PTR__bfd_std_section_00092fb4;\n      local_7c = (local_9c->output_section_statement).bfd_section;\n      if (local_7c != (asection *)0x0) {\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case lang_assignment_statement_enum:\n    again = (uint)local_34;\n    local_20 = local_34._4_4_;\n    tree = (etree_type *)(local_9c->input_section).section;\n    expld.dataseg.relro = exp_seg_relro_none;\n    exp_fold_tree(tree,output_section_statement->bfd_section,(bfd_vma *)&again);\n    plVar4 = expld.dataseg.relro_start_stat;\n    plVar12 = expld.dataseg.relro_end_stat;\n    if (expld.dataseg.relro == exp_seg_relro_start) {\n      plVar4 = local_9c;\n      if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }\n    }\n    else if (((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }\n    expld.dataseg.relro_end_stat = plVar12;\n    expld.dataseg.relro_start_stat = plVar4;\n    expld.dataseg.relro = exp_seg_relro_none;\n    if ((((tree->type).node_class & ~etree_unary) == etree_assign) &&\n       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))) {\n      output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;\n    }\n    if ((output_section_statement->field_0x54 & 8) == 0) {\n      if (abs_output_section == output_section_statement) {\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }\n      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }\n    }\n    break;\n  case lang_input_statement_enum:\n  case lang_address_statement_enum:\n  case lang_target_statement_enum:\n  case lang_output_statement_enum:\n  case lang_insert_statement_enum:\n    goto _L1385;\n  case lang_wild_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp;\n    goto LAB_00022351;\n  case lang_input_section_enum:\n    if (relax != (bfd_boolean *)0x0) {\n      pbVar3 = ((local_9c->input_section).section)->owner;\n      bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again);\n      if (bVar18 == 0) {\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }\n      if (again != 0) {\n        *relax = 1;\n      }\n    }\n    paVar26 = (((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section).section;\n    output_section = output_section_statement->bfd_section;\n    if ((*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200) {\n      uVar15 = (uint)paVar26->vma;\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;\n    }\n    else if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))\n    {\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }\n    else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }\n    break;\n  case lang_object_symbols_statement_enum:\n    link_info.create_object_symbols_section = output_section_statement->bfd_section;\n    goto _L1385;\n  case lang_fill_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)output_section_statement->bfd_section\n    ;\n    local_8c = (local_9c->fill_statement).fill;\n    break;\n  case lang_data_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    iVar13 = *(int *)((int)&output_section_statement->bfd_section->vma + 4);\n    (local_9c->wild_statement).children.tail =\n         (lang_statement_union **)((uint)local_34 - (int)*pbVar1);\n    (local_9c->wild_statement).exclude_name_list =\n         (name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36));\n    (local_9c->wild_statement).children.head =\n         (lang_statement_union *)output_section_statement->bfd_section;\n    exp_fold_tree((local_9c->data_statement).exp,current_section,&local_34);\n    uVar15 = (local_9c->data_statement).type - 0x11a;\n    if (4 < uVar15) {\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");\n    }\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = 1 << (bVar22 & 0x1f);\n    if (uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4)) {\n      uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);\n    }\n    uVar14 = uVar14 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = local_34._4_4_ + CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\n    goto joined_r0x00022089;\n  case lang_reloc_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->wild_statement).handler_data[1] =\n         (wildcard_list *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).handler_data[0] = (wildcard_list *)((uint)local_34 - (int)bVar36);\n    (local_9c->wild_statement).walk_wild_section_handler =\n         (walk_wild_section_handler_t)output_section_statement->bfd_section;\n    iVar13 = bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted);\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = iVar13 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = ((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\njoined_r0x00022089:\n    if ((bVar23 & 8) == 0) {\n      uVar16 = uVar15 - (int)paVar26->vma;\n      uVar17 = uVar16 << (bVar22 & 0x1f);\n      uVar14 = uVar17;\n      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);\n      if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }\n      *(uint *)((int)&paVar26->size + 4) = uVar15;\n      *(uint *)&paVar26->size = uVar14;\n    }\n    break;\n  case lang_padding_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)0x0;\n    (local_9c->wild_statement).keep_sections = 0;\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->data_statement).exp =\n         (etree_union *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).filename = (char *)((uint)local_34 - (int)bVar36);\n    break;\n  case lang_group_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->assignment_statement).exp;\n    goto LAB_00022351;\n  case lang_constructors_statement_enum:\n    prev_00 = &constructor_list;\nLAB_00022351:\n    local_34 = lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions);\n    break;\n  default:\n    info_assert("../../ld/ldlang.c",0x15a7);\n  }\nLAB_00022010:\n  plVar4 = ((lang_statement_header_type *)&(local_9c->header).next)->next;\n  prev = (lang_statement_union_type **)local_9c;\n  dot = local_34;\n  goto joined_r0x00021fcf;\n_L1385:\n  goto LAB_00022010;\n}\n\n" comment comment (function_definition "bfd_vma __regparm3\nlang_size_sections_1\n          (lang_statement_union_type **prev,\n          lang_output_section_statement_type *output_section_statement,fill_type *fill,bfd_vma dot,\n          bfd_boolean *relax,bfd_boolean check_regions)\n\n{\n  bfd_vma *pbVar1;\n  flagword *pfVar2;\n  bfd *pbVar3;\n  asection *output_section;\n  lang_statement_union *plVar4;\n  wildcard_list *pwVar5;\n  etree_type *tree;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  name_list *pnVar8;\n  bfd_size_type bVar9;\n  undefined *puVar10;\n  lang_memory_region_type *plVar11;\n  lang_statement_union *plVar12;\n  asection *current_section;\n  int iVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  bfd_boolean bVar18;\n  lang_statement_list_type *prev_00;\n  char *pcVar19;\n  etree_union *tree_00;\n  lang_memory_region_type *plVar20;\n  char *pcVar21;\n  byte bVar22;\n  byte bVar23;\n  undefined **extraout_ECX;\n  uint uVar24;\n  uint uVar25;\n  asection *paVar26;\n  undefined1 *puVar27;\n  uint uVar28;\n  uint uVar29;\n  uint uVar30;\n  byte *pbVar31;\n  byte *pbVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  bfd_vma bVar36;\n  undefined **ppuVar37;\n  lang_statement_union *local_9c;\n  fill_type *local_8c;\n  asection *local_84;\n  uint local_80;\n  asection *local_7c;\n  uint local_78;\n  uint local_6c;\n  lang_memory_region_type *local_64;\n  uint local_60;\n  uint local_54;\n  int local_50;\n  name_list *local_4c;\n  char *local_48;\n  undefined8 local_34;\n  bfd_boolean again;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x21f8b;\n  current_section = (asection *)(PTR__bfd_std_section_00092fb4 + 0x180);\n  plVar4 = *prev;\n  local_8c = fill;\njoined_r0x00021fcf:\n  local_9c = plVar4;\n  if (local_9c == (lang_statement_union *)0x0) {\n    return dot;\n  }\n  local_34._0_4_ = (uint)dot;\n  local_34._4_4_ = (uint)(dot >> 0x20);\n  local_34 = dot;\n  switch((local_9c->header).type) {\n  case lang_output_section_statement_enum:\n    if ((local_9c->output_section_statement).constraint != -1) {\n      tree_00 = (local_9c->output_section_statement).addr_tree;\n      if (tree_00 == (etree_union *)0x0) {\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }\n      else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }\n      puVar10 = PTR__bfd_std_section_00092fb4;\n      local_7c = (local_9c->output_section_statement).bfd_section;\n      if (local_7c != (asection *)0x0) {\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case lang_assignment_statement_enum:\n    again = (uint)local_34;\n    local_20 = local_34._4_4_;\n    tree = (etree_type *)(local_9c->input_section).section;\n    expld.dataseg.relro = exp_seg_relro_none;\n    exp_fold_tree(tree,output_section_statement->bfd_section,(bfd_vma *)&again);\n    plVar4 = expld.dataseg.relro_start_stat;\n    plVar12 = expld.dataseg.relro_end_stat;\n    if (expld.dataseg.relro == exp_seg_relro_start) {\n      plVar4 = local_9c;\n      if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }\n    }\n    else if (((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }\n    expld.dataseg.relro_end_stat = plVar12;\n    expld.dataseg.relro_start_stat = plVar4;\n    expld.dataseg.relro = exp_seg_relro_none;\n    if ((((tree->type).node_class & ~etree_unary) == etree_assign) &&\n       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))) {\n      output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;\n    }\n    if ((output_section_statement->field_0x54 & 8) == 0) {\n      if (abs_output_section == output_section_statement) {\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }\n      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }\n    }\n    break;\n  case lang_input_statement_enum:\n  case lang_address_statement_enum:\n  case lang_target_statement_enum:\n  case lang_output_statement_enum:\n  case lang_insert_statement_enum:\n    goto _L1385;\n  case lang_wild_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp;\n    goto LAB_00022351;\n  case lang_input_section_enum:\n    if (relax != (bfd_boolean *)0x0) {\n      pbVar3 = ((local_9c->input_section).section)->owner;\n      bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again);\n      if (bVar18 == 0) {\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }\n      if (again != 0) {\n        *relax = 1;\n      }\n    }\n    paVar26 = (((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section).section;\n    output_section = output_section_statement->bfd_section;\n    if ((*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200) {\n      uVar15 = (uint)paVar26->vma;\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;\n    }\n    else if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))\n    {\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }\n    else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }\n    break;\n  case lang_object_symbols_statement_enum:\n    link_info.create_object_symbols_section = output_section_statement->bfd_section;\n    goto _L1385;\n  case lang_fill_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)output_section_statement->bfd_section\n    ;\n    local_8c = (local_9c->fill_statement).fill;\n    break;\n  case lang_data_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    iVar13 = *(int *)((int)&output_section_statement->bfd_section->vma + 4);\n    (local_9c->wild_statement).children.tail =\n         (lang_statement_union **)((uint)local_34 - (int)*pbVar1);\n    (local_9c->wild_statement).exclude_name_list =\n         (name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36));\n    (local_9c->wild_statement).children.head =\n         (lang_statement_union *)output_section_statement->bfd_section;\n    exp_fold_tree((local_9c->data_statement).exp,current_section,&local_34);\n    uVar15 = (local_9c->data_statement).type - 0x11a;\n    if (4 < uVar15) {\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");\n    }\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = 1 << (bVar22 & 0x1f);\n    if (uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4)) {\n      uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);\n    }\n    uVar14 = uVar14 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = local_34._4_4_ + CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\n    goto joined_r0x00022089;\n  case lang_reloc_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->wild_statement).handler_data[1] =\n         (wildcard_list *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).handler_data[0] = (wildcard_list *)((uint)local_34 - (int)bVar36);\n    (local_9c->wild_statement).walk_wild_section_handler =\n         (walk_wild_section_handler_t)output_section_statement->bfd_section;\n    iVar13 = bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted);\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = iVar13 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = ((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\njoined_r0x00022089:\n    if ((bVar23 & 8) == 0) {\n      uVar16 = uVar15 - (int)paVar26->vma;\n      uVar17 = uVar16 << (bVar22 & 0x1f);\n      uVar14 = uVar17;\n      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);\n      if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }\n      *(uint *)((int)&paVar26->size + 4) = uVar15;\n      *(uint *)&paVar26->size = uVar14;\n    }\n    break;\n  case lang_padding_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)0x0;\n    (local_9c->wild_statement).keep_sections = 0;\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->data_statement).exp =\n         (etree_union *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).filename = (char *)((uint)local_34 - (int)bVar36);\n    break;\n  case lang_group_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->assignment_statement).exp;\n    goto LAB_00022351;\n  case lang_constructors_statement_enum:\n    prev_00 = &constructor_list;\nLAB_00022351:\n    local_34 = lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions);\n    break;\n  default:\n    info_assert("../../ld/ldlang.c",0x15a7);\n  }\nLAB_00022010:\n  plVar4 = ((lang_statement_header_type *)&(local_9c->header).next)->next;\n  prev = (lang_statement_union_type **)local_9c;\n  dot = local_34;\n  goto joined_r0x00021fcf;\n_L1385:\n  goto LAB_00022010;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "lang_size_sections_1\n          (lang_statement_union_type **prev,\n          lang_output_section_statement_type *output_section_statement,fill_type *fill,bfd_vma dot,\n          bfd_boolean *relax,bfd_boolean check_regions)" identifier (parameter_list "(lang_statement_union_type **prev,\n          lang_output_section_statement_type *output_section_statement,fill_type *fill,bfd_vma dot,\n          bfd_boolean *relax,bfd_boolean check_regions)" ( (parameter_declaration "lang_statement_union_type **prev" type_identifier (pointer_declarator "**prev" * (pointer_declarator "*prev" * identifier))) , (parameter_declaration "lang_output_section_statement_type *output_section_statement" type_identifier (pointer_declarator "*output_section_statement" * identifier)) , (parameter_declaration "fill_type *fill" type_identifier (pointer_declarator "*fill" * identifier)) , (parameter_declaration "bfd_vma dot" type_identifier identifier) , (parameter_declaration "bfd_boolean *relax" type_identifier (pointer_declarator "*relax" * identifier)) , (parameter_declaration "bfd_boolean check_regions" type_identifier identifier) ))) (compound_statement "{\n  bfd_vma *pbVar1;\n  flagword *pfVar2;\n  bfd *pbVar3;\n  asection *output_section;\n  lang_statement_union *plVar4;\n  wildcard_list *pwVar5;\n  etree_type *tree;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  name_list *pnVar8;\n  bfd_size_type bVar9;\n  undefined *puVar10;\n  lang_memory_region_type *plVar11;\n  lang_statement_union *plVar12;\n  asection *current_section;\n  int iVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  bfd_boolean bVar18;\n  lang_statement_list_type *prev_00;\n  char *pcVar19;\n  etree_union *tree_00;\n  lang_memory_region_type *plVar20;\n  char *pcVar21;\n  byte bVar22;\n  byte bVar23;\n  undefined **extraout_ECX;\n  uint uVar24;\n  uint uVar25;\n  asection *paVar26;\n  undefined1 *puVar27;\n  uint uVar28;\n  uint uVar29;\n  uint uVar30;\n  byte *pbVar31;\n  byte *pbVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  bfd_vma bVar36;\n  undefined **ppuVar37;\n  lang_statement_union *local_9c;\n  fill_type *local_8c;\n  asection *local_84;\n  uint local_80;\n  asection *local_7c;\n  uint local_78;\n  uint local_6c;\n  lang_memory_region_type *local_64;\n  uint local_60;\n  uint local_54;\n  int local_50;\n  name_list *local_4c;\n  char *local_48;\n  undefined8 local_34;\n  bfd_boolean again;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x21f8b;\n  current_section = (asection *)(PTR__bfd_std_section_00092fb4 + 0x180);\n  plVar4 = *prev;\n  local_8c = fill;\njoined_r0x00021fcf:\n  local_9c = plVar4;\n  if (local_9c == (lang_statement_union *)0x0) {\n    return dot;\n  }\n  local_34._0_4_ = (uint)dot;\n  local_34._4_4_ = (uint)(dot >> 0x20);\n  local_34 = dot;\n  switch((local_9c->header).type) {\n  case lang_output_section_statement_enum:\n    if ((local_9c->output_section_statement).constraint != -1) {\n      tree_00 = (local_9c->output_section_statement).addr_tree;\n      if (tree_00 == (etree_union *)0x0) {\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }\n      else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }\n      puVar10 = PTR__bfd_std_section_00092fb4;\n      local_7c = (local_9c->output_section_statement).bfd_section;\n      if (local_7c != (asection *)0x0) {\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case lang_assignment_statement_enum:\n    again = (uint)local_34;\n    local_20 = local_34._4_4_;\n    tree = (etree_type *)(local_9c->input_section).section;\n    expld.dataseg.relro = exp_seg_relro_none;\n    exp_fold_tree(tree,output_section_statement->bfd_section,(bfd_vma *)&again);\n    plVar4 = expld.dataseg.relro_start_stat;\n    plVar12 = expld.dataseg.relro_end_stat;\n    if (expld.dataseg.relro == exp_seg_relro_start) {\n      plVar4 = local_9c;\n      if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }\n    }\n    else if (((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }\n    expld.dataseg.relro_end_stat = plVar12;\n    expld.dataseg.relro_start_stat = plVar4;\n    expld.dataseg.relro = exp_seg_relro_none;\n    if ((((tree->type).node_class & ~etree_unary) == etree_assign) &&\n       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))) {\n      output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;\n    }\n    if ((output_section_statement->field_0x54 & 8) == 0) {\n      if (abs_output_section == output_section_statement) {\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }\n      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }\n    }\n    break;\n  case lang_input_statement_enum:\n  case lang_address_statement_enum:\n  case lang_target_statement_enum:\n  case lang_output_statement_enum:\n  case lang_insert_statement_enum:\n    goto _L1385;\n  case lang_wild_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp;\n    goto LAB_00022351;\n  case lang_input_section_enum:\n    if (relax != (bfd_boolean *)0x0) {\n      pbVar3 = ((local_9c->input_section).section)->owner;\n      bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again);\n      if (bVar18 == 0) {\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }\n      if (again != 0) {\n        *relax = 1;\n      }\n    }\n    paVar26 = (((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section).section;\n    output_section = output_section_statement->bfd_section;\n    if ((*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200) {\n      uVar15 = (uint)paVar26->vma;\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;\n    }\n    else if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))\n    {\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }\n    else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }\n    break;\n  case lang_object_symbols_statement_enum:\n    link_info.create_object_symbols_section = output_section_statement->bfd_section;\n    goto _L1385;\n  case lang_fill_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)output_section_statement->bfd_section\n    ;\n    local_8c = (local_9c->fill_statement).fill;\n    break;\n  case lang_data_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    iVar13 = *(int *)((int)&output_section_statement->bfd_section->vma + 4);\n    (local_9c->wild_statement).children.tail =\n         (lang_statement_union **)((uint)local_34 - (int)*pbVar1);\n    (local_9c->wild_statement).exclude_name_list =\n         (name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36));\n    (local_9c->wild_statement).children.head =\n         (lang_statement_union *)output_section_statement->bfd_section;\n    exp_fold_tree((local_9c->data_statement).exp,current_section,&local_34);\n    uVar15 = (local_9c->data_statement).type - 0x11a;\n    if (4 < uVar15) {\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");\n    }\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = 1 << (bVar22 & 0x1f);\n    if (uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4)) {\n      uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);\n    }\n    uVar14 = uVar14 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = local_34._4_4_ + CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\n    goto joined_r0x00022089;\n  case lang_reloc_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->wild_statement).handler_data[1] =\n         (wildcard_list *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).handler_data[0] = (wildcard_list *)((uint)local_34 - (int)bVar36);\n    (local_9c->wild_statement).walk_wild_section_handler =\n         (walk_wild_section_handler_t)output_section_statement->bfd_section;\n    iVar13 = bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted);\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = iVar13 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = ((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\njoined_r0x00022089:\n    if ((bVar23 & 8) == 0) {\n      uVar16 = uVar15 - (int)paVar26->vma;\n      uVar17 = uVar16 << (bVar22 & 0x1f);\n      uVar14 = uVar17;\n      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);\n      if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }\n      *(uint *)((int)&paVar26->size + 4) = uVar15;\n      *(uint *)&paVar26->size = uVar14;\n    }\n    break;\n  case lang_padding_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)0x0;\n    (local_9c->wild_statement).keep_sections = 0;\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->data_statement).exp =\n         (etree_union *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).filename = (char *)((uint)local_34 - (int)bVar36);\n    break;\n  case lang_group_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->assignment_statement).exp;\n    goto LAB_00022351;\n  case lang_constructors_statement_enum:\n    prev_00 = &constructor_list;\nLAB_00022351:\n    local_34 = lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions);\n    break;\n  default:\n    info_assert("../../ld/ldlang.c",0x15a7);\n  }\nLAB_00022010:\n  plVar4 = ((lang_statement_header_type *)&(local_9c->header).next)->next;\n  prev = (lang_statement_union_type **)local_9c;\n  dot = local_34;\n  goto joined_r0x00021fcf;\n_L1385:\n  goto LAB_00022010;\n}" { (declaration "bfd_vma *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "flagword *pfVar2;" type_identifier (pointer_declarator "*pfVar2" * identifier) ;) (declaration "bfd *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "asection *output_section;" type_identifier (pointer_declarator "*output_section" * identifier) ;) (declaration "lang_statement_union *plVar4;" type_identifier (pointer_declarator "*plVar4" * identifier) ;) (declaration "wildcard_list *pwVar5;" type_identifier (pointer_declarator "*pwVar5" * identifier) ;) (declaration "etree_type *tree;" type_identifier (pointer_declarator "*tree" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "name_list *pnVar8;" type_identifier (pointer_declarator "*pnVar8" * identifier) ;) (declaration "bfd_size_type bVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "lang_memory_region_type *plVar11;" type_identifier (pointer_declarator "*plVar11" * identifier) ;) (declaration "lang_statement_union *plVar12;" type_identifier (pointer_declarator "*plVar12" * identifier) ;) (declaration "asection *current_section;" type_identifier (pointer_declarator "*current_section" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "bfd_boolean bVar18;" type_identifier identifier ;) (declaration "lang_statement_list_type *prev_00;" type_identifier (pointer_declarator "*prev_00" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "etree_union *tree_00;" type_identifier (pointer_declarator "*tree_00" * identifier) ;) (declaration "lang_memory_region_type *plVar20;" type_identifier (pointer_declarator "*plVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "undefined **extraout_ECX;" type_identifier (pointer_declarator "**extraout_ECX" * (pointer_declarator "*extraout_ECX" * identifier)) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "asection *paVar26;" type_identifier (pointer_declarator "*paVar26" * identifier) ;) (declaration "undefined1 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "byte *pbVar31;" type_identifier (pointer_declarator "*pbVar31" * identifier) ;) (declaration "byte *pbVar32;" type_identifier (pointer_declarator "*pbVar32" * identifier) ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "byte bVar35;" type_identifier identifier ;) (declaration "bfd_vma bVar36;" type_identifier identifier ;) (declaration "undefined **ppuVar37;" type_identifier (pointer_declarator "**ppuVar37" * (pointer_declarator "*ppuVar37" * identifier)) ;) (declaration "lang_statement_union *local_9c;" type_identifier (pointer_declarator "*local_9c" * identifier) ;) (declaration "fill_type *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "asection *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "asection *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "uint local_78;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "lang_memory_region_type *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "name_list *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined8 local_34;" type_identifier identifier ;) (declaration "bfd_boolean again;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x21f8b;" (assignment_expression "uStack_14 = 0x21f8b" identifier = number_literal) ;) (expression_statement "current_section = (asection *)(PTR__bfd_std_section_00092fb4 + 0x180);" (assignment_expression "current_section = (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)" identifier = (cast_expression "(asection *)(PTR__bfd_std_section_00092fb4 + 0x180)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" identifier + number_literal) )))) ;) (expression_statement "plVar4 = *prev;" (assignment_expression "plVar4 = *prev" identifier = (pointer_expression "*prev" * identifier)) ;) (expression_statement "local_8c = fill;" (assignment_expression "local_8c = fill" identifier = identifier) ;) (labeled_statement "joined_r0x00021fcf:\n  local_9c = plVar4;" statement_identifier : (expression_statement "local_9c = plVar4;" (assignment_expression "local_9c = plVar4" identifier = identifier) ;)) (if_statement "if (local_9c == (lang_statement_union *)0x0) {\n    return dot;\n  }" if (parenthesized_expression "(local_9c == (lang_statement_union *)0x0)" ( (binary_expression "local_9c == (lang_statement_union *)0x0" identifier == (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return dot;\n  }" { (return_statement "return dot;" return identifier ;) })) (expression_statement "local_34._0_4_ = (uint)dot;" (assignment_expression "local_34._0_4_ = (uint)dot" (field_expression "local_34._0_4_" identifier . field_identifier) = (cast_expression "(uint)dot" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_34._4_4_ = (uint)(dot >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)(dot >> 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) = (call_expression "(uint)(dot >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dot >> 0x20)" ( (binary_expression "dot >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_34 = dot;" (assignment_expression "local_34 = dot" identifier = identifier) ;) (switch_statement "switch((local_9c->header).type) {\n  case lang_output_section_statement_enum:\n    if ((local_9c->output_section_statement).constraint != -1) {\n      tree_00 = (local_9c->output_section_statement).addr_tree;\n      if (tree_00 == (etree_union *)0x0) {\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }\n      else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }\n      puVar10 = PTR__bfd_std_section_00092fb4;\n      local_7c = (local_9c->output_section_statement).bfd_section;\n      if (local_7c != (asection *)0x0) {\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case lang_assignment_statement_enum:\n    again = (uint)local_34;\n    local_20 = local_34._4_4_;\n    tree = (etree_type *)(local_9c->input_section).section;\n    expld.dataseg.relro = exp_seg_relro_none;\n    exp_fold_tree(tree,output_section_statement->bfd_section,(bfd_vma *)&again);\n    plVar4 = expld.dataseg.relro_start_stat;\n    plVar12 = expld.dataseg.relro_end_stat;\n    if (expld.dataseg.relro == exp_seg_relro_start) {\n      plVar4 = local_9c;\n      if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }\n    }\n    else if (((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }\n    expld.dataseg.relro_end_stat = plVar12;\n    expld.dataseg.relro_start_stat = plVar4;\n    expld.dataseg.relro = exp_seg_relro_none;\n    if ((((tree->type).node_class & ~etree_unary) == etree_assign) &&\n       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))) {\n      output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;\n    }\n    if ((output_section_statement->field_0x54 & 8) == 0) {\n      if (abs_output_section == output_section_statement) {\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }\n      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }\n    }\n    break;\n  case lang_input_statement_enum:\n  case lang_address_statement_enum:\n  case lang_target_statement_enum:\n  case lang_output_statement_enum:\n  case lang_insert_statement_enum:\n    goto _L1385;\n  case lang_wild_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp;\n    goto LAB_00022351;\n  case lang_input_section_enum:\n    if (relax != (bfd_boolean *)0x0) {\n      pbVar3 = ((local_9c->input_section).section)->owner;\n      bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again);\n      if (bVar18 == 0) {\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }\n      if (again != 0) {\n        *relax = 1;\n      }\n    }\n    paVar26 = (((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section).section;\n    output_section = output_section_statement->bfd_section;\n    if ((*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200) {\n      uVar15 = (uint)paVar26->vma;\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;\n    }\n    else if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))\n    {\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }\n    else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }\n    break;\n  case lang_object_symbols_statement_enum:\n    link_info.create_object_symbols_section = output_section_statement->bfd_section;\n    goto _L1385;\n  case lang_fill_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)output_section_statement->bfd_section\n    ;\n    local_8c = (local_9c->fill_statement).fill;\n    break;\n  case lang_data_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    iVar13 = *(int *)((int)&output_section_statement->bfd_section->vma + 4);\n    (local_9c->wild_statement).children.tail =\n         (lang_statement_union **)((uint)local_34 - (int)*pbVar1);\n    (local_9c->wild_statement).exclude_name_list =\n         (name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36));\n    (local_9c->wild_statement).children.head =\n         (lang_statement_union *)output_section_statement->bfd_section;\n    exp_fold_tree((local_9c->data_statement).exp,current_section,&local_34);\n    uVar15 = (local_9c->data_statement).type - 0x11a;\n    if (4 < uVar15) {\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");\n    }\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = 1 << (bVar22 & 0x1f);\n    if (uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4)) {\n      uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);\n    }\n    uVar14 = uVar14 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = local_34._4_4_ + CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\n    goto joined_r0x00022089;\n  case lang_reloc_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->wild_statement).handler_data[1] =\n         (wildcard_list *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).handler_data[0] = (wildcard_list *)((uint)local_34 - (int)bVar36);\n    (local_9c->wild_statement).walk_wild_section_handler =\n         (walk_wild_section_handler_t)output_section_statement->bfd_section;\n    iVar13 = bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted);\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = iVar13 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = ((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\njoined_r0x00022089:\n    if ((bVar23 & 8) == 0) {\n      uVar16 = uVar15 - (int)paVar26->vma;\n      uVar17 = uVar16 << (bVar22 & 0x1f);\n      uVar14 = uVar17;\n      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);\n      if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }\n      *(uint *)((int)&paVar26->size + 4) = uVar15;\n      *(uint *)&paVar26->size = uVar14;\n    }\n    break;\n  case lang_padding_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)0x0;\n    (local_9c->wild_statement).keep_sections = 0;\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->data_statement).exp =\n         (etree_union *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).filename = (char *)((uint)local_34 - (int)bVar36);\n    break;\n  case lang_group_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->assignment_statement).exp;\n    goto LAB_00022351;\n  case lang_constructors_statement_enum:\n    prev_00 = &constructor_list;\nLAB_00022351:\n    local_34 = lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions);\n    break;\n  default:\n    info_assert("../../ld/ldlang.c",0x15a7);\n  }" switch (parenthesized_expression "((local_9c->header).type)" ( (field_expression "(local_9c->header).type" (parenthesized_expression "(local_9c->header)" ( (field_expression "local_9c->header" identifier -> field_identifier) )) . field_identifier) )) (compound_statement "{\n  case lang_output_section_statement_enum:\n    if ((local_9c->output_section_statement).constraint != -1) {\n      tree_00 = (local_9c->output_section_statement).addr_tree;\n      if (tree_00 == (etree_union *)0x0) {\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }\n      else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }\n      puVar10 = PTR__bfd_std_section_00092fb4;\n      local_7c = (local_9c->output_section_statement).bfd_section;\n      if (local_7c != (asection *)0x0) {\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case lang_assignment_statement_enum:\n    again = (uint)local_34;\n    local_20 = local_34._4_4_;\n    tree = (etree_type *)(local_9c->input_section).section;\n    expld.dataseg.relro = exp_seg_relro_none;\n    exp_fold_tree(tree,output_section_statement->bfd_section,(bfd_vma *)&again);\n    plVar4 = expld.dataseg.relro_start_stat;\n    plVar12 = expld.dataseg.relro_end_stat;\n    if (expld.dataseg.relro == exp_seg_relro_start) {\n      plVar4 = local_9c;\n      if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }\n    }\n    else if (((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }\n    expld.dataseg.relro_end_stat = plVar12;\n    expld.dataseg.relro_start_stat = plVar4;\n    expld.dataseg.relro = exp_seg_relro_none;\n    if ((((tree->type).node_class & ~etree_unary) == etree_assign) &&\n       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))) {\n      output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;\n    }\n    if ((output_section_statement->field_0x54 & 8) == 0) {\n      if (abs_output_section == output_section_statement) {\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }\n      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }\n    }\n    break;\n  case lang_input_statement_enum:\n  case lang_address_statement_enum:\n  case lang_target_statement_enum:\n  case lang_output_statement_enum:\n  case lang_insert_statement_enum:\n    goto _L1385;\n  case lang_wild_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp;\n    goto LAB_00022351;\n  case lang_input_section_enum:\n    if (relax != (bfd_boolean *)0x0) {\n      pbVar3 = ((local_9c->input_section).section)->owner;\n      bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again);\n      if (bVar18 == 0) {\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }\n      if (again != 0) {\n        *relax = 1;\n      }\n    }\n    paVar26 = (((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section).section;\n    output_section = output_section_statement->bfd_section;\n    if ((*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200) {\n      uVar15 = (uint)paVar26->vma;\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;\n    }\n    else if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))\n    {\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }\n    else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }\n    break;\n  case lang_object_symbols_statement_enum:\n    link_info.create_object_symbols_section = output_section_statement->bfd_section;\n    goto _L1385;\n  case lang_fill_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)output_section_statement->bfd_section\n    ;\n    local_8c = (local_9c->fill_statement).fill;\n    break;\n  case lang_data_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    iVar13 = *(int *)((int)&output_section_statement->bfd_section->vma + 4);\n    (local_9c->wild_statement).children.tail =\n         (lang_statement_union **)((uint)local_34 - (int)*pbVar1);\n    (local_9c->wild_statement).exclude_name_list =\n         (name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36));\n    (local_9c->wild_statement).children.head =\n         (lang_statement_union *)output_section_statement->bfd_section;\n    exp_fold_tree((local_9c->data_statement).exp,current_section,&local_34);\n    uVar15 = (local_9c->data_statement).type - 0x11a;\n    if (4 < uVar15) {\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");\n    }\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = 1 << (bVar22 & 0x1f);\n    if (uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4)) {\n      uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);\n    }\n    uVar14 = uVar14 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = local_34._4_4_ + CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\n    goto joined_r0x00022089;\n  case lang_reloc_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->wild_statement).handler_data[1] =\n         (wildcard_list *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).handler_data[0] = (wildcard_list *)((uint)local_34 - (int)bVar36);\n    (local_9c->wild_statement).walk_wild_section_handler =\n         (walk_wild_section_handler_t)output_section_statement->bfd_section;\n    iVar13 = bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted);\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = iVar13 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = ((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\njoined_r0x00022089:\n    if ((bVar23 & 8) == 0) {\n      uVar16 = uVar15 - (int)paVar26->vma;\n      uVar17 = uVar16 << (bVar22 & 0x1f);\n      uVar14 = uVar17;\n      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);\n      if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }\n      *(uint *)((int)&paVar26->size + 4) = uVar15;\n      *(uint *)&paVar26->size = uVar14;\n    }\n    break;\n  case lang_padding_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)0x0;\n    (local_9c->wild_statement).keep_sections = 0;\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->data_statement).exp =\n         (etree_union *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).filename = (char *)((uint)local_34 - (int)bVar36);\n    break;\n  case lang_group_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->assignment_statement).exp;\n    goto LAB_00022351;\n  case lang_constructors_statement_enum:\n    prev_00 = &constructor_list;\nLAB_00022351:\n    local_34 = lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions);\n    break;\n  default:\n    info_assert("../../ld/ldlang.c",0x15a7);\n  }" { (case_statement "case lang_output_section_statement_enum:\n    if ((local_9c->output_section_statement).constraint != -1) {\n      tree_00 = (local_9c->output_section_statement).addr_tree;\n      if (tree_00 == (etree_union *)0x0) {\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }\n      else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }\n      puVar10 = PTR__bfd_std_section_00092fb4;\n      local_7c = (local_9c->output_section_statement).bfd_section;\n      if (local_7c != (asection *)0x0) {\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;" case identifier : (if_statement "if ((local_9c->output_section_statement).constraint != -1) {\n      tree_00 = (local_9c->output_section_statement).addr_tree;\n      if (tree_00 == (etree_union *)0x0) {\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }\n      else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }\n      puVar10 = PTR__bfd_std_section_00092fb4;\n      local_7c = (local_9c->output_section_statement).bfd_section;\n      if (local_7c != (asection *)0x0) {\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "((local_9c->output_section_statement).constraint != -1)" ( (binary_expression "(local_9c->output_section_statement).constraint != -1" (field_expression "(local_9c->output_section_statement).constraint" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n      tree_00 = (local_9c->output_section_statement).addr_tree;\n      if (tree_00 == (etree_union *)0x0) {\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }\n      else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }\n      puVar10 = PTR__bfd_std_section_00092fb4;\n      local_7c = (local_9c->output_section_statement).bfd_section;\n      if (local_7c != (asection *)0x0) {\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "tree_00 = (local_9c->output_section_statement).addr_tree;" (assignment_expression "tree_00 = (local_9c->output_section_statement).addr_tree" identifier = (field_expression "(local_9c->output_section_statement).addr_tree" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (tree_00 == (etree_union *)0x0) {\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }\n      else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }" if (parenthesized_expression "(tree_00 == (etree_union *)0x0)" ( (binary_expression "tree_00 == (etree_union *)0x0" identifier == (cast_expression "(etree_union *)0x0" ( (type_descriptor "etree_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }\n      }" { (if_statement "if (((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)) {\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }" if (parenthesized_expression "(((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour))" ( (binary_expression "((link_info._0_1_ & 3) == 2) &&\n           ((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)" (parenthesized_expression "((link_info._0_1_ & 3) == 2)" ( (binary_expression "(link_info._0_1_ & 3) == 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour)" ( (binary_expression "(link_info.output_bfd)->xvec->flavour == bfd_target_coff_flavour" (field_expression "(link_info.output_bfd)->xvec->flavour" (field_expression "(link_info.output_bfd)->xvec" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) -> field_identifier) == identifier) ))) )) (compound_statement "{\n          tree_00 = exp_intop(0);\n          (local_9c->output_section_statement).addr_tree = tree_00;\n          if (tree_00 != (etree_type *)0x0) goto LAB_00022390;\n        }" { (expression_statement "tree_00 = exp_intop(0);" (assignment_expression "tree_00 = exp_intop(0)" identifier = (call_expression "exp_intop(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "(local_9c->output_section_statement).addr_tree = tree_00;" (assignment_expression "(local_9c->output_section_statement).addr_tree = tree_00" (field_expression "(local_9c->output_section_statement).addr_tree" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (tree_00 != (etree_type *)0x0) goto LAB_00022390;" if (parenthesized_expression "(tree_00 != (etree_type *)0x0)" ( (binary_expression "tree_00 != (etree_type *)0x0" identifier != (cast_expression "(etree_type *)0x0" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00022390;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }" else (compound_statement "{\nLAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;\n        exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);\n        if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }\n      }" { (labeled_statement "LAB_00022390:\n        *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;" statement_identifier : (expression_statement "*(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe;" (assignment_expression "*(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) & 0xfe" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_9c + 0x54) & 0xfe" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;)) (expression_statement "exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34);" (call_expression "exp_fold_tree(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34)" identifier (argument_list "(tree_00,(asection *)(PTR__bfd_std_section_00092fb4 + 0x180),&local_34)" ( identifier , (cast_expression "(asection *)(PTR__bfd_std_section_00092fb4 + 0x180)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" identifier + number_literal) ))) , (pointer_expression "&local_34" & identifier) ))) ;) (if_statement "if (expld.result.valid_p == 0) {\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }\n        else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }" if (parenthesized_expression "(expld.result.valid_p == 0)" ( (binary_expression "expld.result.valid_p == 0" (field_expression "expld.result.valid_p" (field_expression "expld.result" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n          if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }\n        }" { (if_statement "if (expld.phase != lang_mark_phase_enum) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }" if (parenthesized_expression "(expld.phase != lang_mark_phase_enum)" ( (binary_expression "expld.phase != lang_mark_phase_enum" (field_expression "expld.phase" identifier . field_identifier) != identifier) )) (compound_statement "{\n            plVar4 = (local_9c->wild_statement).children.head;\n            pwVar5 = (local_9c->wild_statement).handler_data[1];\n            pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);\n            einfo(pcVar19,pwVar5,plVar4);\n          }" { (expression_statement "plVar4 = (local_9c->wild_statement).children.head;" (assignment_expression "plVar4 = (local_9c->wild_statement).children.head" identifier = (field_expression "(local_9c->wild_statement).children.head" (field_expression "(local_9c->wild_statement).children" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "pwVar5 = (local_9c->wild_statement).handler_data[1];" (assignment_expression "pwVar5 = (local_9c->wild_statement).handler_data[1]" identifier = (subscript_expression "(local_9c->wild_statement).handler_data[1]" (field_expression "(local_9c->wild_statement).handler_data" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5)" identifier (argument_list "(0,\n                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                                        ,5)" ( number_literal , (string_literal ""%F%P:%pS: non constant or forward reference address expression for section %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar19,pwVar5,plVar4);" (call_expression "einfo(pcVar19,pwVar5,plVar4)" identifier (argument_list "(pcVar19,pwVar5,plVar4)" ( identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }" else (compound_statement "{\n          local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);\n          if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }\n        }" { (expression_statement "local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value);" (assignment_expression "local_34 = CONCAT44(expld.result.value._4_4_,(uint)expld.result.value)" identifier = (call_expression "CONCAT44(expld.result.value._4_4_,(uint)expld.result.value)" identifier (argument_list "(expld.result.value._4_4_,(uint)expld.result.value)" ( (field_expression "expld.result.value._4_4_" (field_expression "expld.result.value" (field_expression "expld.result" identifier . field_identifier) . field_identifier) . field_identifier) , (cast_expression "(uint)expld.result.value" ( (type_descriptor "uint" type_identifier) ) (field_expression "expld.result.value" (field_expression "expld.result" identifier . field_identifier) . field_identifier)) )))) ;) (if_statement "if (expld.result.section != (asection *)0x0) {\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }" if (parenthesized_expression "(expld.result.section != (asection *)0x0)" ( (binary_expression "expld.result.section != (asection *)0x0" (field_expression "expld.result.section" (field_expression "expld.result" identifier . field_identifier) . field_identifier) != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);\n          }" { (expression_statement "local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma);" (assignment_expression "local_34 = CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma)" identifier = (call_expression "CONCAT44(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma)" identifier (argument_list "(expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma),\n                                (uint)expld.result.value + (int)(expld.result.section)->vma)" ( (binary_expression "expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4) +\n                                (uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma)" (binary_expression "expld.result.value._4_4_ +\n                                *(int *)((int)&(expld.result.section)->vma + 4)" (field_expression "expld.result.value._4_4_" (field_expression "expld.result.value" (field_expression "expld.result" identifier . field_identifier) . field_identifier) . field_identifier) + (pointer_expression "*(int *)((int)&(expld.result.section)->vma + 4)" * (cast_expression "(int *)((int)&(expld.result.section)->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(expld.result.section)->vma + 4)" ( (binary_expression "(int)&(expld.result.section)->vma + 4" (cast_expression "(int)&(expld.result.section)->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(expld.result.section)->vma" & (field_expression "(expld.result.section)->vma" (parenthesized_expression "(expld.result.section)" ( (field_expression "expld.result.section" (field_expression "expld.result" identifier . field_identifier) . field_identifier) )) -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma)" identifier (argument_list "((uint)expld.result.value,\n                                             (uint)(expld.result.section)->vma)" ( (cast_expression "(uint)expld.result.value" ( (type_descriptor "uint" type_identifier) ) (field_expression "expld.result.value" (field_expression "expld.result" identifier . field_identifier) . field_identifier)) , (field_expression "(uint)(expld.result.section)->vma" (call_expression "(uint)(expld.result.section)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(expld.result.section)" ( (field_expression "expld.result.section" (field_expression "expld.result" identifier . field_identifier) . field_identifier) ))) -> field_identifier) ))))) , (binary_expression "(uint)expld.result.value + (int)(expld.result.section)->vma" (cast_expression "(uint)expld.result.value" ( (type_descriptor "uint" type_identifier) ) (field_expression "expld.result.value" (field_expression "expld.result" identifier . field_identifier) . field_identifier)) + (cast_expression "(int)(expld.result.section)->vma" ( (type_descriptor "int" primitive_type) ) (field_expression "(expld.result.section)->vma" (parenthesized_expression "(expld.result.section)" ( (field_expression "expld.result.section" (field_expression "expld.result" identifier . field_identifier) . field_identifier) )) -> field_identifier))) )))) ;) })) }))) }))) (expression_statement "puVar10 = PTR__bfd_std_section_00092fb4;" (assignment_expression "puVar10 = PTR__bfd_std_section_00092fb4" identifier = identifier) ;) (expression_statement "local_7c = (local_9c->output_section_statement).bfd_section;" (assignment_expression "local_7c = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (local_7c != (asection *)0x0) {\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(local_7c != (asection *)0x0)" ( (binary_expression "local_7c != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }\n      }" { (if_statement "if (((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)) {\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }\n        else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0))" ( (binary_expression "((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2) &&\n           (uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)" (parenthesized_expression "((link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2)" ( (binary_expression "(link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour < 2" (binary_expression "(link_info.output_bfd)->xvec->flavour - bfd_target_coff_flavour" (field_expression "(link_info.output_bfd)->xvec->flavour" (field_expression "(link_info.output_bfd)->xvec" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) -> field_identifier) - identifier) < number_literal) )) && (parenthesized_expression "(uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0)" ( (comma_expression "uVar15 = local_7c->flags, (uVar15 & 0x4000000) != 0" (assignment_expression "uVar15 = local_7c->flags" identifier = (field_expression "local_7c->flags" identifier -> field_identifier)) , (binary_expression "(uVar15 & 0x4000000) != 0" (parenthesized_expression "(uVar15 & 0x4000000)" ( (binary_expression "uVar15 & 0x4000000" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n          paVar26 = (local_9c->input_section).section;\n          if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }\n          uVar14 = paVar26->index;\n          uVar6 = *(undefined4 *)(uVar14 + 0x1c);\n          uVar7 = *(undefined4 *)(uVar14 + 0x20);\n          local_7c->field_0x18 = local_7c->field_0x18 | 1;\n          *(undefined4 *)&local_7c->lma = uVar6;\n          *(undefined4 *)((int)&local_7c->lma + 4) = uVar7;\n          *(undefined4 *)&local_7c->vma = uVar6;\n          *(undefined4 *)((int)&local_7c->vma + 4) = uVar7;\n          if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }\n        }" { (expression_statement "paVar26 = (local_9c->input_section).section;" (assignment_expression "paVar26 = (local_9c->input_section).section" identifier = (field_expression "(local_9c->input_section).section" (parenthesized_expression "(local_9c->input_section)" ( (field_expression "local_9c->input_section" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             ) {\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }" if (parenthesized_expression "(((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)\n             )" ( (binary_expression "((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)) || (paVar26->id != 5)" (parenthesized_expression "((paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0))" ( (binary_expression "(paVar26 == (asection *)0x0) || (paVar26->name != (char *)0x0)" (parenthesized_expression "(paVar26 == (asection *)0x0)" ( (binary_expression "paVar26 == (asection *)0x0" identifier == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(paVar26->name != (char *)0x0)" ( (binary_expression "paVar26->name != (char *)0x0" (field_expression "paVar26->name" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(paVar26->id != 5)" ( (binary_expression "paVar26->id != 5" (field_expression "paVar26->id" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n            plVar4 = (local_9c->wild_statement).children.head;\n            pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);\n            einfo(pcVar19,plVar4);\n            local_7c = (local_9c->output_section_statement).bfd_section;\n            paVar26 = (local_9c->input_section).section;\n            uVar15 = local_7c->flags;\n          }" { (expression_statement "plVar4 = (local_9c->wild_statement).children.head;" (assignment_expression "plVar4 = (local_9c->wild_statement).children.head" identifier = (field_expression "(local_9c->wild_statement).children.head" (field_expression "(local_9c->wild_statement).children" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5)" identifier = (cast_expression "(char *)dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5)" identifier (argument_list "(0,"%X%P: internal error on COFF shared library section %s\n"\n                                        ,5)" ( number_literal , (string_literal ""%X%P: internal error on COFF shared library section %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar19,plVar4);" (call_expression "einfo(pcVar19,plVar4)" identifier (argument_list "(pcVar19,plVar4)" ( identifier , identifier ))) ;) (expression_statement "local_7c = (local_9c->output_section_statement).bfd_section;" (assignment_expression "local_7c = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "paVar26 = (local_9c->input_section).section;" (assignment_expression "paVar26 = (local_9c->input_section).section" identifier = (field_expression "(local_9c->input_section).section" (parenthesized_expression "(local_9c->input_section)" ( (field_expression "local_9c->input_section" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar15 = local_7c->flags;" (assignment_expression "uVar15 = local_7c->flags" identifier = (field_expression "local_7c->flags" identifier -> field_identifier)) ;) })) (expression_statement "uVar14 = paVar26->index;" (assignment_expression "uVar14 = paVar26->index" identifier = (field_expression "paVar26->index" identifier -> field_identifier)) ;) (expression_statement "uVar6 = *(undefined4 *)(uVar14 + 0x1c);" (assignment_expression "uVar6 = *(undefined4 *)(uVar14 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(uVar14 + 0x1c)" * (cast_expression "(undefined4 *)(uVar14 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 + 0x1c)" ( (binary_expression "uVar14 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(uVar14 + 0x20);" (assignment_expression "uVar7 = *(undefined4 *)(uVar14 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(uVar14 + 0x20)" * (cast_expression "(undefined4 *)(uVar14 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 + 0x20)" ( (binary_expression "uVar14 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_7c->field_0x18 = local_7c->field_0x18 | 1;" (assignment_expression "local_7c->field_0x18 = local_7c->field_0x18 | 1" (field_expression "local_7c->field_0x18" identifier -> field_identifier) = (binary_expression "local_7c->field_0x18 | 1" (field_expression "local_7c->field_0x18" identifier -> field_identifier) | number_literal)) ;) (expression_statement "*(undefined4 *)&local_7c->lma = uVar6;" (assignment_expression "*(undefined4 *)&local_7c->lma = uVar6" (pointer_expression "*(undefined4 *)&local_7c->lma" * (cast_expression "(undefined4 *)&local_7c->lma" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c->lma" & (field_expression "local_7c->lma" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&local_7c->lma + 4) = uVar7;" (assignment_expression "*(undefined4 *)((int)&local_7c->lma + 4) = uVar7" (pointer_expression "*(undefined4 *)((int)&local_7c->lma + 4)" * (cast_expression "(undefined4 *)((int)&local_7c->lma + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7c->lma + 4)" ( (binary_expression "(int)&local_7c->lma + 4" (cast_expression "(int)&local_7c->lma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7c->lma" & (field_expression "local_7c->lma" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)&local_7c->vma = uVar6;" (assignment_expression "*(undefined4 *)&local_7c->vma = uVar6" (pointer_expression "*(undefined4 *)&local_7c->vma" * (cast_expression "(undefined4 *)&local_7c->vma" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c->vma" & (field_expression "local_7c->vma" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&local_7c->vma + 4) = uVar7;" (assignment_expression "*(undefined4 *)((int)&local_7c->vma + 4) = uVar7" (pointer_expression "*(undefined4 *)((int)&local_7c->vma + 4)" * (cast_expression "(undefined4 *)((int)&local_7c->vma + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7c->vma + 4)" ( (binary_expression "(int)&local_7c->vma + 4" (cast_expression "(int)&local_7c->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7c->vma" & (field_expression "local_7c->vma" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if ((uVar15 & 0x800) == 0) {\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }" if (parenthesized_expression "((uVar15 & 0x800) == 0)" ( (binary_expression "(uVar15 & 0x800) == 0" (parenthesized_expression "(uVar15 & 0x800)" ( (binary_expression "uVar15 & 0x800" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar6 = *(undefined4 *)(uVar14 + 0x30);\n            *(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);\n            *(undefined4 *)((int)&local_7c->size + 4) = uVar6;\n          }" { (expression_statement "uVar6 = *(undefined4 *)(uVar14 + 0x30);" (assignment_expression "uVar6 = *(undefined4 *)(uVar14 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(uVar14 + 0x30)" * (cast_expression "(undefined4 *)(uVar14 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 + 0x30)" ( (binary_expression "uVar14 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c);" (assignment_expression "*(undefined4 *)&local_7c->size = *(undefined4 *)(uVar14 + 0x2c)" (pointer_expression "*(undefined4 *)&local_7c->size" * (cast_expression "(undefined4 *)&local_7c->size" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c->size" & (field_expression "local_7c->size" identifier -> field_identifier)))) = (pointer_expression "*(undefined4 *)(uVar14 + 0x2c)" * (cast_expression "(undefined4 *)(uVar14 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 + 0x2c)" ( (binary_expression "uVar14 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)&local_7c->size + 4) = uVar6;" (assignment_expression "*(undefined4 *)((int)&local_7c->size + 4) = uVar6" (pointer_expression "*(undefined4 *)((int)&local_7c->size + 4)" * (cast_expression "(undefined4 *)((int)&local_7c->size + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7c->size + 4)" ( (binary_expression "(int)&local_7c->size + 4" (cast_expression "(int)&local_7c->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7c->size" & (field_expression "local_7c->size" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }" else (compound_statement "{\n          local_84 = (asection *)(uint)local_34;\n          local_80 = local_34._4_4_;\n          if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }\n          lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);\n          bVar23 = *(byte *)((int)local_9c + 0x54);\n          paVar26 = (local_9c->output_section_statement).bfd_section;\n          *(byte *)((int)local_9c + 0x54) = bVar23 | 1;\n          if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }\n          local_64 = (local_9c->output_section_statement).region;\n          if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }\n          if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }\n        }" { (expression_statement "local_84 = (asection *)(uint)local_34;" (assignment_expression "local_84 = (asection *)(uint)local_34" identifier = (cast_expression "(asection *)(uint)local_34" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_80 = local_34._4_4_;" (assignment_expression "local_80 = local_34._4_4_" identifier = (field_expression "local_34._4_4_" identifier . field_identifier)) ;) (if_statement "if (local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }\n          else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }" if (parenthesized_expression "(local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180))" ( (binary_expression "local_7c == (asection *)(PTR__bfd_std_section_00092fb4 + 0x180)" identifier == (cast_expression "(asection *)(PTR__bfd_std_section_00092fb4 + 0x180)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" identifier + number_literal) )))) )) (compound_statement "{\n            local_6c = 0;\n            local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }\n          }" { (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);" (assignment_expression "local_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" identifier = (pointer_expression "*(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" * (cast_expression "(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x1a0)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x1a0" identifier + number_literal) ))))) ;) (expression_statement "local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);" (assignment_expression "local_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" identifier = (pointer_expression "*(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" * (cast_expression "(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x19c)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x19c" identifier + number_literal) ))))) ;) (if_statement "if (local_50 != 0 || local_54 != 0) {\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }" if (parenthesized_expression "(local_50 != 0 || local_54 != 0)" ( (binary_expression "local_50 != 0 || local_54 != 0" (binary_expression "local_50 != 0" identifier != number_literal) || (binary_expression "local_54 != 0" identifier != number_literal)) )) (compound_statement "{\n              info_assert("../../ld/ldlang.c",0x13e5);\n              local_54 = 0;\n              local_50 = 0;\n            }" { (expression_statement "info_assert("../../ld/ldlang.c",0x13e5);" (call_expression "info_assert("../../ld/ldlang.c",0x13e5)" identifier (argument_list "("../../ld/ldlang.c",0x13e5)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }" else (compound_statement "{\n            if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }\n            if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }\n            local_7c->field_0x18 = local_7c->field_0x18 | 1;\n            *(asection **)&local_7c->lma = local_84;\n            *(uint *)((int)&local_7c->lma + 4) = local_80;\n            *(asection **)&local_7c->vma = local_84;\n            *(uint *)((int)&local_7c->vma + 4) = local_80;\n            *(undefined4 *)&local_7c->output_offset = 0;\n            *(undefined4 *)((int)&local_7c->output_offset + 4) = 0;\n          }" { (if_statement "if ((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0) {\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }\n            else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }" if (parenthesized_expression "((local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0)" ( (binary_expression "(local_9c->wild_statement).handler_data[1] == (wildcard_list *)0x0" (subscript_expression "(local_9c->wild_statement).handler_data[1]" (field_expression "(local_9c->wild_statement).handler_data" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (cast_expression "(wildcard_list *)0x0" ( (type_descriptor "wildcard_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              plVar20 = (local_9c->output_section_statement).region;\n              uVar15 = local_7c->flags;\n              if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }\n              plVar11 = lang_memory_region_list;\n              if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }\n              local_64 = (lang_memory_region_type *)plVar20->current;\n              local_60 = *(uint *)((int)&plVar20->current + 4);\n              local_6c = local_7c->alignment_power;\n            }" { (expression_statement "plVar20 = (local_9c->output_section_statement).region;" (assignment_expression "plVar20 = (local_9c->output_section_statement).region" identifier = (field_expression "(local_9c->output_section_statement).region" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar15 = local_7c->flags;" (assignment_expression "uVar15 = local_7c->flags" identifier = (field_expression "local_7c->flags" identifier -> field_identifier)) ;) (if_statement "if (plVar20 == (lang_memory_region_type *)0x0) {\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }\n              else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }" if (parenthesized_expression "(plVar20 == (lang_memory_region_type *)0x0)" ( (binary_expression "plVar20 == (lang_memory_region_type *)0x0" identifier == (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0002315d:\n                plVar20 = lang_memory_region_list;\n                if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }\n                for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }\n                plVar20 = lang_memory_region_lookup("*default*",0);\n                local_7c = (local_9c->output_section_statement).bfd_section;\nLAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;\n              }" { (labeled_statement "LAB_0002315d:\n                plVar20 = lang_memory_region_list;" statement_identifier : (expression_statement "plVar20 = lang_memory_region_list;" (assignment_expression "plVar20 = lang_memory_region_list" identifier = identifier) ;)) (if_statement "if ((uVar15 & 0x19) == 1) {\n                  uVar15 = uVar15 | 0x20;\n                }" if (parenthesized_expression "((uVar15 & 0x19) == 1)" ( (binary_expression "(uVar15 & 0x19) == 1" (parenthesized_expression "(uVar15 & 0x19)" ( (binary_expression "uVar15 & 0x19" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  uVar15 = uVar15 | 0x20;\n                }" { (expression_statement "uVar15 = uVar15 | 0x20;" (assignment_expression "uVar15 = uVar15 | 0x20" identifier = (binary_expression "uVar15 | 0x20" identifier | number_literal)) ;) })) (for_statement "for (; plVar20 != (lang_memory_region_type *)0x0; plVar20 = plVar20->next) {\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }" for ( ; (binary_expression "plVar20 != (lang_memory_region_type *)0x0" identifier != (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar20 = plVar20->next" identifier = (field_expression "plVar20->next" identifier -> field_identifier)) ) (compound_statement "{\n                  if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;\n                }" { (if_statement "if (((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))\n                  goto LAB_000231b2;" if (parenthesized_expression "(((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0))" ( (binary_expression "((plVar20->flags & uVar15) != 0) && ((plVar20->not_flags & uVar15) == 0)" (parenthesized_expression "((plVar20->flags & uVar15) != 0)" ( (binary_expression "(plVar20->flags & uVar15) != 0" (parenthesized_expression "(plVar20->flags & uVar15)" ( (binary_expression "plVar20->flags & uVar15" (field_expression "plVar20->flags" identifier -> field_identifier) & identifier) )) != number_literal) )) && (parenthesized_expression "((plVar20->not_flags & uVar15) == 0)" ( (binary_expression "(plVar20->not_flags & uVar15) == 0" (parenthesized_expression "(plVar20->not_flags & uVar15)" ( (binary_expression "plVar20->not_flags & uVar15" (field_expression "plVar20->not_flags" identifier -> field_identifier) & identifier) )) == number_literal) ))) )) (goto_statement "goto LAB_000231b2;" goto statement_identifier ;)) })) (expression_statement "plVar20 = lang_memory_region_lookup("*default*",0);" (assignment_expression "plVar20 = lang_memory_region_lookup("*default*",0)" identifier = (call_expression "lang_memory_region_lookup("*default*",0)" identifier (argument_list "("*default*",0)" ( (string_literal ""*default*"" " string_content ") , number_literal )))) ;) (expression_statement "local_7c = (local_9c->output_section_statement).bfd_section;" (assignment_expression "local_7c = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (labeled_statement "LAB_000231b2:\n                (local_9c->output_section_statement).region = plVar20;" statement_identifier : (expression_statement "(local_9c->output_section_statement).region = plVar20;" (assignment_expression "(local_9c->output_section_statement).region = plVar20" (field_expression "(local_9c->output_section_statement).region" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) = identifier) ;)) }) (else_clause "else if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }" else (if_statement "if ((uVar15 & 3) != 0) {\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }" if (parenthesized_expression "((uVar15 & 3) != 0)" ( (binary_expression "(uVar15 & 3) != 0" (parenthesized_expression "(uVar15 & 3)" ( (binary_expression "uVar15 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                pbVar31 = (byte *)(plVar20->name_list).name;\n                bVar23 = *pbVar31;\n                bVar33 = bVar23 < 0x2a;\n                bVar34 = bVar23 == 0x2a;\n                if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }\n              }" { (expression_statement "pbVar31 = (byte *)(plVar20->name_list).name;" (assignment_expression "pbVar31 = (byte *)(plVar20->name_list).name" identifier = (cast_expression "(byte *)(plVar20->name_list).name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(plVar20->name_list).name" (parenthesized_expression "(plVar20->name_list)" ( (field_expression "plVar20->name_list" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "bVar23 = *pbVar31;" (assignment_expression "bVar23 = *pbVar31" identifier = (pointer_expression "*pbVar31" * identifier)) ;) (expression_statement "bVar33 = bVar23 < 0x2a;" (assignment_expression "bVar33 = bVar23 < 0x2a" identifier = (binary_expression "bVar23 < 0x2a" identifier < number_literal)) ;) (expression_statement "bVar34 = bVar23 == 0x2a;" (assignment_expression "bVar34 = bVar23 == 0x2a" identifier = (binary_expression "bVar23 == 0x2a" identifier == number_literal)) ;) (if_statement "if (bVar34) {\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                  iVar13 = 10;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;\n                }" { (expression_statement "iVar13 = 10;" (assignment_expression "iVar13 = 10" identifier = number_literal) ;) (expression_statement "pbVar32 = (byte *)"*default*";" (assignment_expression "pbVar32 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);" do (compound_statement "{\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  }" { (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar33 = *pbVar31 < *pbVar32;" (assignment_expression "bVar33 = *pbVar31 < *pbVar32" identifier = (binary_expression "*pbVar31 < *pbVar32" (pointer_expression "*pbVar31" * identifier) < (pointer_expression "*pbVar32" * identifier))) ;) (expression_statement "bVar34 = *pbVar31 == *pbVar32;" (assignment_expression "bVar34 = *pbVar31 == *pbVar32" identifier = (binary_expression "*pbVar31 == *pbVar32" (pointer_expression "*pbVar31" * identifier) == (pointer_expression "*pbVar32" * identifier))) ;) (expression_statement "pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar31 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar31 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar32 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (if_statement "if ((!bVar33 && !bVar34) == bVar33) goto LAB_0002315d;" if (parenthesized_expression "((!bVar33 && !bVar34) == bVar33)" ( (binary_expression "(!bVar33 && !bVar34) == bVar33" (parenthesized_expression "(!bVar33 && !bVar34)" ( (binary_expression "!bVar33 && !bVar34" (unary_expression "!bVar33" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_0002315d;" goto statement_identifier ;)) })) })))) (expression_statement "plVar11 = lang_memory_region_list;" (assignment_expression "plVar11 = lang_memory_region_list" identifier = identifier) ;) (if_statement "if (((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }" if (parenthesized_expression "(((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2))" ( (binary_expression "((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)" (parenthesized_expression "((((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400))" ( (binary_expression "(((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)) &&\n                  ((local_7c->flags & 0x402) != 0x400)" (parenthesized_expression "(((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0))" ( (binary_expression "((*(byte *)((int)local_9c + 0x54) & 8) == 0) && ((local_7c->flags & 1) != 0)" (parenthesized_expression "((*(byte *)((int)local_9c + 0x54) & 8) == 0)" ( (binary_expression "(*(byte *)((int)local_9c + 0x54) & 8) == 0" (parenthesized_expression "(*(byte *)((int)local_9c + 0x54) & 8)" ( (binary_expression "*(byte *)((int)local_9c + 0x54) & 8" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((local_7c->flags & 1) != 0)" ( (binary_expression "(local_7c->flags & 1) != 0" (parenthesized_expression "(local_7c->flags & 1)" ( (binary_expression "local_7c->flags & 1" (field_expression "local_7c->flags" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((local_7c->flags & 0x402) != 0x400)" ( (binary_expression "(local_7c->flags & 0x402) != 0x400" (parenthesized_expression "(local_7c->flags & 0x402)" ( (binary_expression "local_7c->flags & 0x402" (field_expression "local_7c->flags" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((link_info._0_1_ & 3) != 2)" ( (binary_expression "(link_info._0_1_ & 3) != 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                bVar33 = false;\n                bVar34 = check_regions == 0;\n                if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }\n              }" { (expression_statement "bVar33 = false;" (assignment_expression "bVar33 = false" identifier = false) ;) (expression_statement "bVar34 = check_regions == 0;" (assignment_expression "bVar34 = check_regions == 0" identifier = (binary_expression "check_regions == 0" identifier == number_literal)) ;) (if_statement "if (!bVar34) {\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n                  iVar13 = 10;\n                  pbVar31 = (byte *)(plVar20->name_list).name;\n                  pbVar32 = (byte *)"*default*";\n                  do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }\n                }" { (expression_statement "iVar13 = 10;" (assignment_expression "iVar13 = 10" identifier = number_literal) ;) (expression_statement "pbVar31 = (byte *)(plVar20->name_list).name;" (assignment_expression "pbVar31 = (byte *)(plVar20->name_list).name" identifier = (cast_expression "(byte *)(plVar20->name_list).name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(plVar20->name_list).name" (parenthesized_expression "(plVar20->name_list)" ( (field_expression "plVar20->name_list" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pbVar32 = (byte *)"*default*";" (assignment_expression "pbVar32 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);" do (compound_statement "{\n                    if (iVar13 == 0) break;\n                    iVar13 = iVar13 + -1;\n                    bVar33 = *pbVar31 < *pbVar32;\n                    bVar34 = *pbVar31 == *pbVar32;\n                    pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  }" { (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar33 = *pbVar31 < *pbVar32;" (assignment_expression "bVar33 = *pbVar31 < *pbVar32" identifier = (binary_expression "*pbVar31 < *pbVar32" (pointer_expression "*pbVar31" * identifier) < (pointer_expression "*pbVar32" * identifier))) ;) (expression_statement "bVar34 = *pbVar31 == *pbVar32;" (assignment_expression "bVar34 = *pbVar31 == *pbVar32" identifier = (binary_expression "*pbVar31 == *pbVar32" (pointer_expression "*pbVar31" * identifier) == (pointer_expression "*pbVar32" * identifier))) ;) (expression_statement "pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar31 = pbVar31 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar31 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar31 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar32 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (if_statement "if (((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)) {\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }" if (parenthesized_expression "(((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum))" ( (binary_expression "((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))) &&\n                     (expld.phase != lang_mark_phase_enum)" (parenthesized_expression "((((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0))))" ( (binary_expression "(((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)) &&\n                      ((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))" (parenthesized_expression "(((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0))" ( (binary_expression "((!bVar33 && !bVar34) == bVar33) &&\n                       (lang_memory_region_list != (lang_memory_region_type *)0x0)" (parenthesized_expression "((!bVar33 && !bVar34) == bVar33)" ( (binary_expression "(!bVar33 && !bVar34) == bVar33" (parenthesized_expression "(!bVar33 && !bVar34)" ( (binary_expression "!bVar33 && !bVar34" (unary_expression "!bVar33" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) == identifier) )) && (parenthesized_expression "(lang_memory_region_list != (lang_memory_region_type *)0x0)" ( (binary_expression "lang_memory_region_list != (lang_memory_region_type *)0x0" identifier != (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)))" ( (parenthesized_expression "(iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0))" ( (comma_expression "iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*"),\n                       iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)" (assignment_expression "iVar13 = strcmp((lang_memory_region_list->name_list).name,"*default*")" identifier = (call_expression "strcmp((lang_memory_region_list->name_list).name,"*default*")" identifier (argument_list "((lang_memory_region_list->name_list).name,"*default*")" ( (field_expression "(lang_memory_region_list->name_list).name" (parenthesized_expression "(lang_memory_region_list->name_list)" ( (field_expression "lang_memory_region_list->name_list" identifier -> field_identifier) )) . field_identifier) , (string_literal ""*default*"" " string_content ") )))) , (binary_expression "iVar13 != 0 || (plVar11->next != (memory_region_struct *)0x0)" (binary_expression "iVar13 != 0" identifier != number_literal) || (parenthesized_expression "(plVar11->next != (memory_region_struct *)0x0)" ( (binary_expression "plVar11->next != (memory_region_struct *)0x0" (field_expression "plVar11->next" identifier -> field_identifier) != (cast_expression "(memory_region_struct *)0x0" ( (type_descriptor "memory_region_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) )) ))) )) && (parenthesized_expression "(expld.phase != lang_mark_phase_enum)" ( (binary_expression "expld.phase != lang_mark_phase_enum" (field_expression "expld.phase" identifier . field_identifier) != identifier) ))) )) (compound_statement "{\n                    pcVar19 = local_7c->name;\n                    if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }\n                    pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);\n                    einfo(pcVar21,pcVar19);\n                    local_7c = (local_9c->output_section_statement).bfd_section;\n                    plVar20 = (local_9c->output_section_statement).region;\n                  }" { (expression_statement "pcVar19 = local_7c->name;" (assignment_expression "pcVar19 = local_7c->name" identifier = (field_expression "local_7c->name" identifier -> field_identifier)) ;) (if_statement "if (command_line.check_section_addresses == '\0') {\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }\n                    else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }" if (parenthesized_expression "(command_line.check_section_addresses == '\0')" ( (binary_expression "command_line.check_section_addresses == '\0'" (field_expression "command_line.check_section_addresses" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = extraout_ECX;\n                    }" { (expression_statement "pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n";" (assignment_expression "pcVar21 = \n                      "%P: warning: no memory region specified for loadable section `%s\'\n"" identifier = (string_literal ""%P: warning: no memory region specified for loadable section `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "ppuVar37 = extraout_ECX;" (assignment_expression "ppuVar37 = extraout_ECX" identifier = identifier) ;) }) (else_clause "else {\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }" else (compound_statement "{\n                      pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;\n                    }" { (expression_statement "pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n";" (assignment_expression "pcVar21 = \n                      "%F%P: error: no memory region specified for loadable section `%s\'\n"" identifier = (string_literal ""%F%P: error: no memory region specified for loadable section `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "ppuVar37 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "ppuVar37 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) }))) (expression_statement "pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37);" (assignment_expression "pcVar21 = (char *)dcgettext(0,pcVar21,5,ppuVar37)" identifier = (cast_expression "(char *)dcgettext(0,pcVar21,5,ppuVar37)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar21,5,ppuVar37)" identifier (argument_list "(0,pcVar21,5,ppuVar37)" ( number_literal , identifier , number_literal , identifier ))))) ;) (expression_statement "einfo(pcVar21,pcVar19);" (call_expression "einfo(pcVar21,pcVar19)" identifier (argument_list "(pcVar21,pcVar19)" ( identifier , identifier ))) ;) (expression_statement "local_7c = (local_9c->output_section_statement).bfd_section;" (assignment_expression "local_7c = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "plVar20 = (local_9c->output_section_statement).region;" (assignment_expression "plVar20 = (local_9c->output_section_statement).region" identifier = (field_expression "(local_9c->output_section_statement).region" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) })) })) })) (expression_statement "local_64 = (lang_memory_region_type *)plVar20->current;" (assignment_expression "local_64 = (lang_memory_region_type *)plVar20->current" identifier = (cast_expression "(lang_memory_region_type *)plVar20->current" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "plVar20->current" identifier -> field_identifier))) ;) (expression_statement "local_60 = *(uint *)((int)&plVar20->current + 4);" (assignment_expression "local_60 = *(uint *)((int)&plVar20->current + 4)" identifier = (pointer_expression "*(uint *)((int)&plVar20->current + 4)" * (cast_expression "(uint *)((int)&plVar20->current + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&plVar20->current + 4)" ( (binary_expression "(int)&plVar20->current + 4" (cast_expression "(int)&plVar20->current" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&plVar20->current" & (field_expression "plVar20->current" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "local_6c = local_7c->alignment_power;" (assignment_expression "local_6c = local_7c->alignment_power" identifier = (field_expression "local_7c->alignment_power" identifier -> field_identifier)) ;) }) (else_clause "else {\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }" else (compound_statement "{\n              local_6c = (local_9c->output_section_statement).section_alignment;\n              local_60 = local_34._4_4_;\n              local_64 = (lang_memory_region_type *)(uint)local_34;\n            }" { (expression_statement "local_6c = (local_9c->output_section_statement).section_alignment;" (assignment_expression "local_6c = (local_9c->output_section_statement).section_alignment" identifier = (field_expression "(local_9c->output_section_statement).section_alignment" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "local_60 = local_34._4_4_;" (assignment_expression "local_60 = local_34._4_4_" identifier = (field_expression "local_34._4_4_" identifier . field_identifier)) ;) (expression_statement "local_64 = (lang_memory_region_type *)(uint)local_34;" (assignment_expression "local_64 = (lang_memory_region_type *)(uint)local_34" identifier = (cast_expression "(lang_memory_region_type *)(uint)local_34" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }))) (if_statement "if ((int)local_6c < 1) {\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }\n            else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }" if (parenthesized_expression "((int)local_6c < 1)" ( (binary_expression "(int)local_6c < 1" (cast_expression "(int)local_6c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              local_54 = 0;\n              local_50 = 0;\n              local_84 = (asection *)local_64;\n              local_80 = local_60;\n            }" { (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_84 = (asection *)local_64;" (assignment_expression "local_84 = (asection *)local_64" identifier = (cast_expression "(asection *)local_64" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_80 = local_60;" (assignment_expression "local_80 = local_60" identifier = identifier) ;) }) (else_clause "else {\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }" else (compound_statement "{\n              bVar33 = (local_6c & 0x20) == 0;\n              iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);\n              uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);\n              local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);\n              local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);\n              local_54 = (int)local_84 - (int)local_64;\n              local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);\n              if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }\n            }" { (expression_statement "bVar33 = (local_6c & 0x20) == 0;" (assignment_expression "bVar33 = (local_6c & 0x20) == 0" identifier = (binary_expression "(local_6c & 0x20) == 0" (parenthesized_expression "(local_6c & 0x20)" ( (binary_expression "local_6c & 0x20" identifier & number_literal) )) == number_literal)) ;) (expression_statement "iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f);" (assignment_expression "iVar13 = (uint)!bVar33 << ((byte)local_6c & 0x1f)" identifier = (binary_expression "(uint)!bVar33 << ((byte)local_6c & 0x1f)" (cast_expression "(uint)!bVar33" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!bVar33" ! identifier)) << (parenthesized_expression "((byte)local_6c & 0x1f)" ( (binary_expression "(byte)local_6c & 0x1f" (cast_expression "(byte)local_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f);" (assignment_expression "uVar15 = (uint)bVar33 << ((byte)local_6c & 0x1f)" identifier = (binary_expression "(uint)bVar33 << ((byte)local_6c & 0x1f)" (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier) << (parenthesized_expression "((byte)local_6c & 0x1f)" ( (binary_expression "(byte)local_6c & 0x1f" (cast_expression "(byte)local_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15);" (assignment_expression "local_84 = (asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15)" identifier = (cast_expression "(asection *)(-uVar15 & ((int)local_64 - 1U) + uVar15)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-uVar15 & ((int)local_64 - 1U) + uVar15)" ( (binary_expression "-uVar15 & ((int)local_64 - 1U) + uVar15" (unary_expression "-uVar15" - identifier) & (binary_expression "((int)local_64 - 1U) + uVar15" (parenthesized_expression "((int)local_64 - 1U)" ( (binary_expression "(int)local_64 - 1U" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )) + identifier)) )))) ;) (expression_statement "local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15);" (assignment_expression "local_80 = -(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15)" identifier = (binary_expression "-(iVar13 + (uint)(uVar15 != 0)) &\n                         (local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15)" (unary_expression "-(iVar13 + (uint)(uVar15 != 0))" - (parenthesized_expression "(iVar13 + (uint)(uVar15 != 0))" ( (binary_expression "iVar13 + (uint)(uVar15 != 0)" identifier + (call_expression "(uint)(uVar15 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )))) ))) & (binary_expression "(local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13 + (uint)CARRY4((int)local_64 - 1U,uVar15)" (binary_expression "(local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0) +\n                         iVar13" (binary_expression "(local_60 - 1) + (uint)(local_64 != (lang_memory_region_type *)0x0)" (parenthesized_expression "(local_60 - 1)" ( (binary_expression "local_60 - 1" identifier - number_literal) )) + (call_expression "(uint)(local_64 != (lang_memory_region_type *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 != (lang_memory_region_type *)0x0)" ( (binary_expression "local_64 != (lang_memory_region_type *)0x0" identifier != (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) + identifier) + (cast_expression "(uint)CARRY4((int)local_64 - 1U,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_64 - 1U,uVar15)" identifier (argument_list "((int)local_64 - 1U,uVar15)" ( (binary_expression "(int)local_64 - 1U" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) , identifier ))))))) ;) (expression_statement "local_54 = (int)local_84 - (int)local_64;" (assignment_expression "local_54 = (int)local_84 - (int)local_64" identifier = (binary_expression "(int)local_84 - (int)local_64" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_50 = (local_80 - local_60) - (uint)(local_84 < local_64);" (assignment_expression "local_50 = (local_80 - local_60) - (uint)(local_84 < local_64)" identifier = (binary_expression "(local_80 - local_60) - (uint)(local_84 < local_64)" (parenthesized_expression "(local_80 - local_60)" ( (binary_expression "local_80 - local_60" identifier - identifier) )) - (call_expression "(uint)(local_84 < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_84 < local_64)" ( (binary_expression "local_84 < local_64" identifier < identifier) ))))) ;) (if_statement "if (((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)) {\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }" if (parenthesized_expression "(((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum))" ( (binary_expression "((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))) &&\n                 (expld.phase != lang_mark_phase_enum)" (parenthesized_expression "((local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0))))" ( (binary_expression "(local_50 != 0 || local_54 != 0) &&\n                  ((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))" (parenthesized_expression "(local_50 != 0 || local_54 != 0)" ( (binary_expression "local_50 != 0 || local_54 != 0" (binary_expression "local_50 != 0" identifier != number_literal) || (binary_expression "local_54 != 0" identifier != number_literal)) )) && (parenthesized_expression "((config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)))" ( (parenthesized_expression "(config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0))" ( (binary_expression "config.warn_section_align != 0 ||\n                   ((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)" (binary_expression "config.warn_section_align != 0" (field_expression "config.warn_section_align" identifier . field_identifier) != number_literal) || (parenthesized_expression "((local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0)" ( (binary_expression "(local_9c->wild_statement).handler_data[1] != (wildcard_list *)0x0" (subscript_expression "(local_9c->wild_statement).handler_data[1]" (field_expression "(local_9c->wild_statement).handler_data" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) != (cast_expression "(wildcard_list *)0x0" ( (type_descriptor "wildcard_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) && (parenthesized_expression "(expld.phase != lang_mark_phase_enum)" ( (binary_expression "expld.phase != lang_mark_phase_enum" (field_expression "expld.phase" identifier . field_identifier) != identifier) ))) )) (compound_statement "{\n                plVar4 = (local_9c->wild_statement).children.head;\n                pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);\n                einfo(pcVar19,plVar4,local_54);\n                local_7c = (local_9c->output_section_statement).bfd_section;\n              }" { (expression_statement "plVar4 = (local_9c->wild_statement).children.head;" (assignment_expression "plVar4 = (local_9c->wild_statement).children.head" identifier = (field_expression "(local_9c->wild_statement).children.head" (field_expression "(local_9c->wild_statement).children" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5);" (assignment_expression "pcVar19 = (char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5)" identifier (argument_list "(0,\n                                             "%P: warning: changing start of section %s by %lu byte\n"\n                                             ,\n                                             "%P: warning: changing start of section %s by %lu bytes\n"\n                                             ,local_54,5)" ( number_literal , (string_literal ""%P: warning: changing start of section %s by %lu byte\n"" " string_content escape_sequence ") , (string_literal ""%P: warning: changing start of section %s by %lu bytes\n"" " string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "einfo(pcVar19,plVar4,local_54);" (call_expression "einfo(pcVar19,plVar4,local_54)" identifier (argument_list "(pcVar19,plVar4,local_54)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_7c = (local_9c->output_section_statement).bfd_section;" (assignment_expression "local_7c = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) })) }))) (expression_statement "local_7c->field_0x18 = local_7c->field_0x18 | 1;" (assignment_expression "local_7c->field_0x18 = local_7c->field_0x18 | 1" (field_expression "local_7c->field_0x18" identifier -> field_identifier) = (binary_expression "local_7c->field_0x18 | 1" (field_expression "local_7c->field_0x18" identifier -> field_identifier) | number_literal)) ;) (expression_statement "*(asection **)&local_7c->lma = local_84;" (assignment_expression "*(asection **)&local_7c->lma = local_84" (pointer_expression "*(asection **)&local_7c->lma" * (cast_expression "(asection **)&local_7c->lma" ( (type_descriptor "asection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_7c->lma" & (field_expression "local_7c->lma" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(uint *)((int)&local_7c->lma + 4) = local_80;" (assignment_expression "*(uint *)((int)&local_7c->lma + 4) = local_80" (pointer_expression "*(uint *)((int)&local_7c->lma + 4)" * (cast_expression "(uint *)((int)&local_7c->lma + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7c->lma + 4)" ( (binary_expression "(int)&local_7c->lma + 4" (cast_expression "(int)&local_7c->lma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7c->lma" & (field_expression "local_7c->lma" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(asection **)&local_7c->vma = local_84;" (assignment_expression "*(asection **)&local_7c->vma = local_84" (pointer_expression "*(asection **)&local_7c->vma" * (cast_expression "(asection **)&local_7c->vma" ( (type_descriptor "asection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_7c->vma" & (field_expression "local_7c->vma" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(uint *)((int)&local_7c->vma + 4) = local_80;" (assignment_expression "*(uint *)((int)&local_7c->vma + 4) = local_80" (pointer_expression "*(uint *)((int)&local_7c->vma + 4)" * (cast_expression "(uint *)((int)&local_7c->vma + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7c->vma + 4)" ( (binary_expression "(int)&local_7c->vma + 4" (cast_expression "(int)&local_7c->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7c->vma" & (field_expression "local_7c->vma" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)&local_7c->output_offset = 0;" (assignment_expression "*(undefined4 *)&local_7c->output_offset = 0" (pointer_expression "*(undefined4 *)&local_7c->output_offset" * (cast_expression "(undefined4 *)&local_7c->output_offset" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c->output_offset" & (field_expression "local_7c->output_offset" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&local_7c->output_offset + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&local_7c->output_offset + 4) = 0" (pointer_expression "*(undefined4 *)((int)&local_7c->output_offset + 4)" * (cast_expression "(undefined4 *)((int)&local_7c->output_offset + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7c->output_offset + 4)" ( (binary_expression "(int)&local_7c->output_offset + 4" (cast_expression "(int)&local_7c->output_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7c->output_offset" & (field_expression "local_7c->output_offset" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) }))) (expression_statement "lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions);" (call_expression "lang_size_sections_1\n                    ((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions)" identifier (argument_list "((lang_statement_union_type **)&(local_9c->assignment_statement).exp,\n                     &local_9c->output_section_statement,(local_9c->output_section_statement).fill,\n                     CONCAT44(local_80,local_84),relax,check_regions)" ( (cast_expression "(lang_statement_union_type **)&(local_9c->assignment_statement).exp" ( (type_descriptor "lang_statement_union_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(local_9c->assignment_statement).exp" & (field_expression "(local_9c->assignment_statement).exp" (parenthesized_expression "(local_9c->assignment_statement)" ( (field_expression "local_9c->assignment_statement" identifier -> field_identifier) )) . field_identifier))) , (pointer_expression "&local_9c->output_section_statement" & (field_expression "local_9c->output_section_statement" identifier -> field_identifier)) , (field_expression "(local_9c->output_section_statement).fill" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) , (call_expression "CONCAT44(local_80,local_84)" identifier (argument_list "(local_80,local_84)" ( identifier , identifier ))) , identifier , identifier ))) ;) (expression_statement "bVar23 = *(byte *)((int)local_9c + 0x54);" (assignment_expression "bVar23 = *(byte *)((int)local_9c + 0x54)" identifier = (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "paVar26 = (local_9c->output_section_statement).bfd_section;" (assignment_expression "paVar26 = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(byte *)((int)local_9c + 0x54) = bVar23 | 1;" (assignment_expression "*(byte *)((int)local_9c + 0x54) = bVar23 | 1" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar23 | 1" identifier | number_literal)) ;) (if_statement "if (paVar26 == (asection *)(puVar10 + 0x180)) {\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }" if (parenthesized_expression "(paVar26 == (asection *)(puVar10 + 0x180))" ( (binary_expression "paVar26 == (asection *)(puVar10 + 0x180)" identifier == (cast_expression "(asection *)(puVar10 + 0x180)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x180)" ( (binary_expression "puVar10 + 0x180" identifier + number_literal) )))) )) (compound_statement "{\n            local_80 = *(uint *)(puVar10 + 0x1b0);\n            local_84 = *(asection **)(puVar10 + 0x1ac);\nLAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }\n          }" { (expression_statement "local_80 = *(uint *)(puVar10 + 0x1b0);" (assignment_expression "local_80 = *(uint *)(puVar10 + 0x1b0)" identifier = (pointer_expression "*(uint *)(puVar10 + 0x1b0)" * (cast_expression "(uint *)(puVar10 + 0x1b0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x1b0)" ( (binary_expression "puVar10 + 0x1b0" identifier + number_literal) ))))) ;) (expression_statement "local_84 = *(asection **)(puVar10 + 0x1ac);" (assignment_expression "local_84 = *(asection **)(puVar10 + 0x1ac)" identifier = (pointer_expression "*(asection **)(puVar10 + 0x1ac)" * (cast_expression "(asection **)(puVar10 + 0x1ac)" ( (type_descriptor "asection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x1ac)" ( (binary_expression "puVar10 + 0x1ac" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00022aad:\n            if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }" statement_identifier : (if_statement "if (local_80 != 0 || local_84 != (asection *)0x0) {\n              info_assert("../../ld/ldlang.c",0x1443);\n            }" if (parenthesized_expression "(local_80 != 0 || local_84 != (asection *)0x0)" ( (binary_expression "local_80 != 0 || local_84 != (asection *)0x0" (binary_expression "local_80 != 0" identifier != number_literal) || (binary_expression "local_84 != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              info_assert("../../ld/ldlang.c",0x1443);\n            }" { (expression_statement "info_assert("../../ld/ldlang.c",0x1443);" (call_expression "info_assert("../../ld/ldlang.c",0x1443)" identifier (argument_list "("../../ld/ldlang.c",0x1443)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) }))) }) (else_clause "else {\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }" else (compound_statement "{\n            local_84 = (asection *)paVar26->size;\n            local_80 = *(uint *)((int)&paVar26->size + 4);\n            if ((bVar23 & 8) != 0) goto LAB_00022aad;\n            uVar15 = (uint)paVar26->vma;\n            iVar13 = *(int *)((int)&paVar26->vma + 4);\n            local_34 = paVar26->vma;\n            if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }\n          }" { (expression_statement "local_84 = (asection *)paVar26->size;" (assignment_expression "local_84 = (asection *)paVar26->size" identifier = (cast_expression "(asection *)paVar26->size" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "paVar26->size" identifier -> field_identifier))) ;) (expression_statement "local_80 = *(uint *)((int)&paVar26->size + 4);" (assignment_expression "local_80 = *(uint *)((int)&paVar26->size + 4)" identifier = (pointer_expression "*(uint *)((int)&paVar26->size + 4)" * (cast_expression "(uint *)((int)&paVar26->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->size + 4)" ( (binary_expression "(int)&paVar26->size + 4" (cast_expression "(int)&paVar26->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->size" & (field_expression "paVar26->size" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if ((bVar23 & 8) != 0) goto LAB_00022aad;" if (parenthesized_expression "((bVar23 & 8) != 0)" ( (binary_expression "(bVar23 & 8) != 0" (parenthesized_expression "(bVar23 & 8)" ( (binary_expression "bVar23 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00022aad;" goto statement_identifier ;)) (expression_statement "uVar15 = (uint)paVar26->vma;" (assignment_expression "uVar15 = (uint)paVar26->vma" identifier = (cast_expression "(uint)paVar26->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar26->vma" identifier -> field_identifier))) ;) (expression_statement "iVar13 = *(int *)((int)&paVar26->vma + 4);" (assignment_expression "iVar13 = *(int *)((int)&paVar26->vma + 4)" identifier = (pointer_expression "*(int *)((int)&paVar26->vma + 4)" * (cast_expression "(int *)((int)&paVar26->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->vma + 4)" ( (binary_expression "(int)&paVar26->vma + 4" (cast_expression "(int)&paVar26->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->vma" & (field_expression "paVar26->vma" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "local_34 = paVar26->vma;" (assignment_expression "local_34 = paVar26->vma" identifier = (field_expression "paVar26->vma" identifier -> field_identifier)) ;) (if_statement "if ((paVar26->flags & 0x800) == 0) {\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }" if (parenthesized_expression "((paVar26->flags & 0x800) == 0)" ( (binary_expression "(paVar26->flags & 0x800) == 0" (parenthesized_expression "(paVar26->flags & 0x800)" ( (binary_expression "paVar26->flags & 0x800" (field_expression "paVar26->flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar14 = (local_9c->output_section_statement).block_value;\n              uVar25 = (uVar15 + uVar14) - 1;\n              bVar23 = (byte)opb_shift;\n              uVar24 = local_80 >> (bVar23 & 0x1f);\n              uVar17 = uVar24;\n              uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);\n              if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }\n              uVar28 = uVar25 + uVar16 & -uVar14;\n              uVar29 = uVar28 - uVar15;\n              uVar30 = uVar29 << (bVar23 & 0x1f);\n              uVar24 = uVar30;\n              uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;\n              if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }\n              *(uint *)((int)&paVar26->size + 4) = uVar15;\n              *(uint *)&paVar26->size = uVar24;\n            }" { (expression_statement "uVar14 = (local_9c->output_section_statement).block_value;" (assignment_expression "uVar14 = (local_9c->output_section_statement).block_value" identifier = (field_expression "(local_9c->output_section_statement).block_value" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar25 = (uVar15 + uVar14) - 1;" (assignment_expression "uVar25 = (uVar15 + uVar14) - 1" identifier = (binary_expression "(uVar15 + uVar14) - 1" (parenthesized_expression "(uVar15 + uVar14)" ( (binary_expression "uVar15 + uVar14" identifier + identifier) )) - number_literal)) ;) (expression_statement "bVar23 = (byte)opb_shift;" (assignment_expression "bVar23 = (byte)opb_shift" identifier = (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar24 = local_80 >> (bVar23 & 0x1f);" (assignment_expression "uVar24 = local_80 >> (bVar23 & 0x1f)" identifier = (binary_expression "local_80 >> (bVar23 & 0x1f)" identifier >> (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar17 = uVar24;" (assignment_expression "uVar17 = uVar24" identifier = identifier) ;) (expression_statement "uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f);" (assignment_expression "uVar16 = (uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f)" identifier = (binary_expression "(uint)local_84 >> (bVar23 & 0x1f) | local_80 << 0x20 - (bVar23 & 0x1f)" (binary_expression "(uint)local_84 >> (bVar23 & 0x1f)" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) ))) | (binary_expression "local_80 << 0x20 - (bVar23 & 0x1f)" identifier << (binary_expression "0x20 - (bVar23 & 0x1f)" number_literal - (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((opb_shift & 0x20) != 0) {\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }" if (parenthesized_expression "((opb_shift & 0x20) != 0)" ( (binary_expression "(opb_shift & 0x20) != 0" (parenthesized_expression "(opb_shift & 0x20)" ( (binary_expression "opb_shift & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar17 = 0;\n                uVar16 = uVar24;\n              }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = uVar24;" (assignment_expression "uVar16 = uVar24" identifier = identifier) ;) })) (expression_statement "uVar28 = uVar25 + uVar16 & -uVar14;" (assignment_expression "uVar28 = uVar25 + uVar16 & -uVar14" identifier = (binary_expression "uVar25 + uVar16 & -uVar14" (binary_expression "uVar25 + uVar16" identifier + identifier) & (unary_expression "-uVar14" - identifier))) ;) (expression_statement "uVar29 = uVar28 - uVar15;" (assignment_expression "uVar29 = uVar28 - uVar15" identifier = (binary_expression "uVar28 - uVar15" identifier - identifier)) ;) (expression_statement "uVar30 = uVar29 << (bVar23 & 0x1f);" (assignment_expression "uVar30 = uVar29 << (bVar23 & 0x1f)" identifier = (binary_expression "uVar29 << (bVar23 & 0x1f)" identifier << (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar24 = uVar30;" (assignment_expression "uVar24 = uVar30" identifier = identifier) ;) (expression_statement "uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)\n              ;" (assignment_expression "uVar15 = ((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)" identifier = (binary_expression "((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f) | uVar29 >> 0x20 - (bVar23 & 0x1f)" (binary_expression "((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15) << (bVar23 & 0x1f)" (binary_expression "((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13) -\n                       (uint)(uVar28 < uVar15)" (parenthesized_expression "((iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13)" ( (binary_expression "(iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)) - iVar13" (parenthesized_expression "(iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0))" ( (binary_expression "iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16) & -(uint)(uVar14 != 0)" (binary_expression "iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17 + (uint)CARRY4(uVar25,uVar16)" (binary_expression "iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0) +\n                         uVar17" (binary_expression "iVar13 + (uint)CARRY4(uVar15,uVar14) + -1 + (uint)(uVar15 + uVar14 != 0)" (binary_expression "iVar13 + (uint)CARRY4(uVar15,uVar14) + -1" (binary_expression "iVar13 + (uint)CARRY4(uVar15,uVar14)" identifier + (cast_expression "(uint)CARRY4(uVar15,uVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar15,uVar14)" identifier (argument_list "(uVar15,uVar14)" ( identifier , identifier ))))) + number_literal) + (call_expression "(uint)(uVar15 + uVar14 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 + uVar14 != 0)" ( (binary_expression "uVar15 + uVar14 != 0" (binary_expression "uVar15 + uVar14" identifier + identifier) != number_literal) )))) + identifier) + (cast_expression "(uint)CARRY4(uVar25,uVar16)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar25,uVar16)" identifier (argument_list "(uVar25,uVar16)" ( identifier , identifier ))))) & (unary_expression "-(uint)(uVar14 != 0)" - (call_expression "(uint)(uVar14 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) ))))) )) - identifier) )) - (call_expression "(uint)(uVar28 < uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar28 < uVar15)" ( (binary_expression "uVar28 < uVar15" identifier < identifier) )))) << (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar29 >> 0x20 - (bVar23 & 0x1f)" identifier >> (binary_expression "0x20 - (bVar23 & 0x1f)" number_literal - (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((opb_shift & 0x20) != 0) {\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }" if (parenthesized_expression "((opb_shift & 0x20) != 0)" ( (binary_expression "(opb_shift & 0x20) != 0" (parenthesized_expression "(opb_shift & 0x20)" ( (binary_expression "opb_shift & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar24 = 0;\n                uVar15 = uVar30;\n              }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = uVar30;" (assignment_expression "uVar15 = uVar30" identifier = identifier) ;) })) (expression_statement "*(uint *)((int)&paVar26->size + 4) = uVar15;" (assignment_expression "*(uint *)((int)&paVar26->size + 4) = uVar15" (pointer_expression "*(uint *)((int)&paVar26->size + 4)" * (cast_expression "(uint *)((int)&paVar26->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->size + 4)" ( (binary_expression "(int)&paVar26->size + 4" (cast_expression "(int)&paVar26->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->size" & (field_expression "paVar26->size" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)&paVar26->size = uVar24;" (assignment_expression "*(uint *)&paVar26->size = uVar24" (pointer_expression "*(uint *)&paVar26->size" * (cast_expression "(uint *)&paVar26->size" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar26->size" & (field_expression "paVar26->size" identifier -> field_identifier)))) = identifier) ;) })) }))) (expression_statement "local_64 = (local_9c->output_section_statement).region;" (assignment_expression "local_64 = (local_9c->output_section_statement).region" identifier = (field_expression "(local_9c->output_section_statement).region" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (local_64 == (lang_memory_region_type *)0x0) {\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }" if (parenthesized_expression "(local_64 == (lang_memory_region_type *)0x0)" ( (binary_expression "local_64 == (lang_memory_region_type *)0x0" identifier == (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_64 = lang_memory_region_lookup("*default*",0);\n          }" { (expression_statement "local_64 = lang_memory_region_lookup("*default*",0);" (assignment_expression "local_64 = lang_memory_region_lookup("*default*",0)" identifier = (call_expression "lang_memory_region_lookup("*default*",0)" identifier (argument_list "("*default*",0)" ( (string_literal ""*default*"" " string_content ") , number_literal )))) ;) })) (if_statement "if ((local_9c->output_section_statement).load_base == (etree_type *)0x0) {\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }\n          else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "((local_9c->output_section_statement).load_base == (etree_type *)0x0)" ( (binary_expression "(local_9c->output_section_statement).load_base == (etree_type *)0x0" (field_expression "(local_9c->output_section_statement).load_base" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(etree_type *)0x0" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;\n            uVar15 = local_84->flags;\n            local_7c = (asection *)(uVar15 & 1);\n            if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }\n            if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;\n            if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n          }" { (expression_statement "local_84 = (local_9c->output_section_statement).bfd_section;" (assignment_expression "local_84 = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler;" (assignment_expression "pnVar8 = (name_list *)(local_9c->wild_statement).walk_wild_section_handler" identifier = (cast_expression "(name_list *)(local_9c->wild_statement).walk_wild_section_handler" ( (type_descriptor "name_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_9c->wild_statement).walk_wild_section_handler" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "uVar15 = local_84->flags;" (assignment_expression "uVar15 = local_84->flags" identifier = (field_expression "local_84->flags" identifier -> field_identifier)) ;) (expression_statement "local_7c = (asection *)(uVar15 & 1);" (assignment_expression "local_7c = (asection *)(uVar15 & 1)" identifier = (cast_expression "(asection *)(uVar15 & 1)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 & 1)" ( (binary_expression "uVar15 & 1" identifier & number_literal) )))) ;) (if_statement "if (pnVar8 != (name_list *)0x0) {\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }" if (parenthesized_expression "(pnVar8 != (name_list *)0x0)" ( (binary_expression "pnVar8 != (name_list *)0x0" identifier != (cast_expression "(name_list *)0x0" ( (type_descriptor "name_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_4c = pnVar8[4].next;\n              local_48 = pnVar8[5].name;\n              if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }\n              *(name_list **)&local_84->lma = local_4c;\n              *(char **)((int)&local_84->lma + 4) = local_48;\n              goto LAB_0002263c;\n            }" { (expression_statement "local_4c = pnVar8[4].next;" (assignment_expression "local_4c = pnVar8[4].next" identifier = (field_expression "pnVar8[4].next" (subscript_expression "pnVar8[4]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "local_48 = pnVar8[5].name;" (assignment_expression "local_48 = pnVar8[5].name" identifier = (field_expression "pnVar8[5].name" (subscript_expression "pnVar8[5]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if ((*(byte *)((int)local_9c + 0x54) & 0x40) == 0) {\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }\n              else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }" if (parenthesized_expression "((*(byte *)((int)local_9c + 0x54) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)local_9c + 0x54) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)local_9c + 0x54) & 0x40)" ( (binary_expression "*(byte *)((int)local_9c + 0x54) & 0x40" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }\n              }" { (if_statement "if (pnVar8 != (local_9c->wild_statement).exclude_name_list) {\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }" if (parenthesized_expression "(pnVar8 != (local_9c->wild_statement).exclude_name_list)" ( (binary_expression "pnVar8 != (local_9c->wild_statement).exclude_name_list" identifier != (field_expression "(local_9c->wild_statement).exclude_name_list" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier)) )) (compound_statement "{\n                  local_6c = (local_9c->output_section_statement).section_alignment;\n                }" { (expression_statement "local_6c = (local_9c->output_section_statement).section_alignment;" (assignment_expression "local_6c = (local_9c->output_section_statement).section_alignment" identifier = (field_expression "(local_9c->output_section_statement).section_alignment" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) })) (if_statement "if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }" if (parenthesized_expression "(0 < (int)local_6c)" ( (binary_expression "0 < (int)local_6c" number_literal < (cast_expression "(int)local_6c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = local_4c != (name_list *)0x0;\n                  puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);\n                  local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);\n                  local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));\n                }" { (expression_statement "bVar23 = (byte)local_6c & 0x1f;" (assignment_expression "bVar23 = (byte)local_6c & 0x1f" identifier = (binary_expression "(byte)local_6c & 0x1f" (cast_expression "(byte)local_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar17 = 1 << ((byte)local_6c & 0x1f);" (assignment_expression "uVar17 = 1 << ((byte)local_6c & 0x1f)" identifier = (binary_expression "1 << ((byte)local_6c & 0x1f)" number_literal << (parenthesized_expression "((byte)local_6c & 0x1f)" ( (binary_expression "(byte)local_6c & 0x1f" (cast_expression "(byte)local_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) (expression_statement "uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;" (assignment_expression "uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23" identifier = (binary_expression "0 << bVar23 | 1U >> 0x20 - bVar23" (binary_expression "0 << bVar23" number_literal << identifier) | (binary_expression "1U >> 0x20 - bVar23" number_literal >> (binary_expression "0x20 - bVar23" number_literal - identifier)))) ;) (if_statement "if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }" if (parenthesized_expression "((local_6c & 0x20) != 0)" ( (binary_expression "(local_6c & 0x20) != 0" (parenthesized_expression "(local_6c & 0x20)" ( (binary_expression "local_6c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = uVar17;" (assignment_expression "uVar14 = uVar17" identifier = identifier) ;) })) (expression_statement "bVar33 = local_4c != (name_list *)0x0;" (assignment_expression "bVar33 = local_4c != (name_list *)0x0" identifier = (binary_expression "local_4c != (name_list *)0x0" identifier != (cast_expression "(name_list *)0x0" ( (type_descriptor "name_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3);" (assignment_expression "puVar27 = (undefined1 *)((int)&local_4c[-1].next + 3)" identifier = (cast_expression "(undefined1 *)((int)&local_4c[-1].next + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_4c[-1].next + 3)" ( (binary_expression "(int)&local_4c[-1].next + 3" (cast_expression "(int)&local_4c[-1].next" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_4c[-1].next" & (field_expression "local_4c[-1].next" (subscript_expression "local_4c[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16);" (assignment_expression "local_4c = (name_list *)((uint)(puVar27 + uVar16) & -uVar16)" identifier = (cast_expression "(name_list *)((uint)(puVar27 + uVar16) & -uVar16)" ( (type_descriptor "name_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar27 + uVar16) & -uVar16)" ( (binary_expression "(uint)(puVar27 + uVar16) & -uVar16" (call_expression "(uint)(puVar27 + uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar27 + uVar16)" ( (binary_expression "puVar27 + uVar16" identifier + identifier) ))) & (unary_expression "-uVar16" - identifier)) )))) ;) (expression_statement "local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)));" (assignment_expression "local_48 = (char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)))" identifier = (cast_expression "(char *)(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)))" ( (binary_expression "-(uVar14 + (uVar16 != 0)) &\n                                     (uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1))" (unary_expression "-(uVar14 + (uVar16 != 0))" - (parenthesized_expression "(uVar14 + (uVar16 != 0))" ( (binary_expression "uVar14 + (uVar16 != 0)" identifier + (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) ))) ))) & (call_expression "(uint)(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1))" ( (binary_expression "local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14 + (bVar33 - 1)" (binary_expression "local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16) +\n                                           uVar14" (binary_expression "local_48 +\n                                           (uint)CARRY4((uint)puVar27,uVar16)" identifier + (cast_expression "(uint)CARRY4((uint)puVar27,uVar16)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)puVar27,uVar16)" identifier (argument_list "((uint)puVar27,uVar16)" ( (cast_expression "(uint)puVar27" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))))) + identifier) + (parenthesized_expression "(bVar33 - 1)" ( (binary_expression "bVar33 - 1" identifier - number_literal) ))) )))) )))) ;) })) }) (else_clause "else {\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }" else (compound_statement "{\n                bVar33 = CARRY4((uint)local_4c,local_54);\n                local_4c = (name_list *)((int)&local_4c->name + local_54);\n                local_48 = local_48 + (uint)bVar33 + local_50;\n              }" { (expression_statement "bVar33 = CARRY4((uint)local_4c,local_54);" (assignment_expression "bVar33 = CARRY4((uint)local_4c,local_54)" identifier = (call_expression "CARRY4((uint)local_4c,local_54)" identifier (argument_list "((uint)local_4c,local_54)" ( (cast_expression "(uint)local_4c" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))) ;) (expression_statement "local_4c = (name_list *)((int)&local_4c->name + local_54);" (assignment_expression "local_4c = (name_list *)((int)&local_4c->name + local_54)" identifier = (cast_expression "(name_list *)((int)&local_4c->name + local_54)" ( (type_descriptor "name_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_4c->name + local_54)" ( (binary_expression "(int)&local_4c->name + local_54" (cast_expression "(int)&local_4c->name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_4c->name" & (field_expression "local_4c->name" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "local_48 = local_48 + (uint)bVar33 + local_50;" (assignment_expression "local_48 = local_48 + (uint)bVar33 + local_50" identifier = (binary_expression "local_48 + (uint)bVar33 + local_50" (binary_expression "local_48 + (uint)bVar33" identifier + (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier)) + identifier)) ;) }))) (expression_statement "*(name_list **)&local_84->lma = local_4c;" (assignment_expression "*(name_list **)&local_84->lma = local_4c" (pointer_expression "*(name_list **)&local_84->lma" * (cast_expression "(name_list **)&local_84->lma" ( (type_descriptor "name_list **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_84->lma" & (field_expression "local_84->lma" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(char **)((int)&local_84->lma + 4) = local_48;" (assignment_expression "*(char **)((int)&local_84->lma + 4) = local_48" (pointer_expression "*(char **)((int)&local_84->lma + 4)" * (cast_expression "(char **)((int)&local_84->lma + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&local_84->lma + 4)" ( (binary_expression "(int)&local_84->lma + 4" (cast_expression "(int)&local_84->lma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_84->lma" & (field_expression "local_84->lma" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0002263c;" goto statement_identifier ;) })) (if_statement "if (local_64->last_os == (lang_statement_union *)0x0) goto LAB_0002263c;" if (parenthesized_expression "(local_64->last_os == (lang_statement_union *)0x0)" ( (binary_expression "local_64->last_os == (lang_statement_union *)0x0" (field_expression "local_64->last_os" identifier -> field_identifier) == (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0002263c;" goto statement_identifier ;)) (if_statement "if (local_7c != (asection *)0x0) {\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }" if (parenthesized_expression "(local_7c != (asection *)0x0)" ( (binary_expression "local_7c != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n              uVar14 = (uint)paVar26->vma;\n              uVar16 = *(uint *)((int)&paVar26->vma + 4);\n              uVar17 = (uint)paVar26->lma;\n              uVar25 = *(uint *)((int)&paVar26->lma + 4);\n              bVar23 = (byte)opb_shift;\n              if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }\n              *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n              goto LAB_00022648;\n            }" { (expression_statement "paVar26 = (local_64->last_os->output_section_statement).bfd_section;" (assignment_expression "paVar26 = (local_64->last_os->output_section_statement).bfd_section" identifier = (field_expression "(local_64->last_os->output_section_statement).bfd_section" (parenthesized_expression "(local_64->last_os->output_section_statement)" ( (field_expression "local_64->last_os->output_section_statement" (field_expression "local_64->last_os" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar14 = (uint)paVar26->vma;" (assignment_expression "uVar14 = (uint)paVar26->vma" identifier = (cast_expression "(uint)paVar26->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar26->vma" identifier -> field_identifier))) ;) (expression_statement "uVar16 = *(uint *)((int)&paVar26->vma + 4);" (assignment_expression "uVar16 = *(uint *)((int)&paVar26->vma + 4)" identifier = (pointer_expression "*(uint *)((int)&paVar26->vma + 4)" * (cast_expression "(uint *)((int)&paVar26->vma + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->vma + 4)" ( (binary_expression "(int)&paVar26->vma + 4" (cast_expression "(int)&paVar26->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->vma" & (field_expression "paVar26->vma" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)paVar26->lma;" (assignment_expression "uVar17 = (uint)paVar26->lma" identifier = (cast_expression "(uint)paVar26->lma" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar26->lma" identifier -> field_identifier))) ;) (expression_statement "uVar25 = *(uint *)((int)&paVar26->lma + 4);" (assignment_expression "uVar25 = *(uint *)((int)&paVar26->lma + 4)" identifier = (pointer_expression "*(uint *)((int)&paVar26->lma + 4)" * (cast_expression "(uint *)((int)&paVar26->lma + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->lma + 4)" ( (binary_expression "(int)&paVar26->lma + 4" (cast_expression "(int)&paVar26->lma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->lma" & (field_expression "paVar26->lma" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar23 = (byte)opb_shift;" (assignment_expression "bVar23 = (byte)opb_shift" identifier = (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)) {\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }\n              else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }" if (parenthesized_expression "(local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14))" ( (binary_expression "local_34._4_4_ < uVar16 ||\n                  local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)" (binary_expression "local_34._4_4_ < uVar16" (field_expression "local_34._4_4_" identifier . field_identifier) < identifier) || (binary_expression "local_34._4_4_ - uVar16 < (uint)((uint)local_34 < uVar14)" (binary_expression "local_34._4_4_ - uVar16" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier) < (call_expression "(uint)((uint)local_34 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < uVar14)" ( (binary_expression "(uint)local_34 < uVar14" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) )) (compound_statement "{\n                uVar24 = (uint)local_84->size;\n                uVar30 = *(uint *)((int)&local_84->size + 4);\n                if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;\n                uVar28 = uVar30 >> (bVar23 & 0x1f);\n                uVar29 = uVar28;\n                uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);\n                if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }\n                uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);\n                if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;\n                if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }\n              }" { (expression_statement "uVar24 = (uint)local_84->size;" (assignment_expression "uVar24 = (uint)local_84->size" identifier = (cast_expression "(uint)local_84->size" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_84->size" identifier -> field_identifier))) ;) (expression_statement "uVar30 = *(uint *)((int)&local_84->size + 4);" (assignment_expression "uVar30 = *(uint *)((int)&local_84->size + 4)" identifier = (pointer_expression "*(uint *)((int)&local_84->size + 4)" * (cast_expression "(uint *)((int)&local_84->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_84->size + 4)" ( (binary_expression "(int)&local_84->size + 4" (cast_expression "(int)&local_84->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_84->size" & (field_expression "local_84->size" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (uVar30 == 0 && uVar24 == 0) goto LAB_000231ba;" if (parenthesized_expression "(uVar30 == 0 && uVar24 == 0)" ( (binary_expression "uVar30 == 0 && uVar24 == 0" (binary_expression "uVar30 == 0" identifier == number_literal) && (binary_expression "uVar24 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_000231ba;" goto statement_identifier ;)) (expression_statement "uVar28 = uVar30 >> (bVar23 & 0x1f);" (assignment_expression "uVar28 = uVar30 >> (bVar23 & 0x1f)" identifier = (binary_expression "uVar30 >> (bVar23 & 0x1f)" identifier >> (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar29 = uVar28;" (assignment_expression "uVar29 = uVar28" identifier = identifier) ;) (expression_statement "uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f);" (assignment_expression "uVar24 = uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f)" identifier = (binary_expression "uVar24 >> (bVar23 & 0x1f) | uVar30 << 0x20 - (bVar23 & 0x1f)" (binary_expression "uVar24 >> (bVar23 & 0x1f)" identifier >> (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar30 << 0x20 - (bVar23 & 0x1f)" identifier << (binary_expression "0x20 - (bVar23 & 0x1f)" number_literal - (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((opb_shift & 0x20) != 0) {\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }" if (parenthesized_expression "((opb_shift & 0x20) != 0)" ( (binary_expression "(opb_shift & 0x20) != 0" (parenthesized_expression "(opb_shift & 0x20)" ( (binary_expression "opb_shift & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar29 = 0;\n                  uVar24 = uVar28;\n                }" { (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = uVar28;" (assignment_expression "uVar24 = uVar28" identifier = identifier) ;) })) (expression_statement "uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34);" (assignment_expression "uVar30 = uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34)" identifier = (binary_expression "uVar29 + local_34._4_4_ + (uint)CARRY4(uVar24,(uint)local_34)" (binary_expression "uVar29 + local_34._4_4_" identifier + (field_expression "local_34._4_4_" identifier . field_identifier)) + (cast_expression "(uint)CARRY4(uVar24,(uint)local_34)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar24,(uint)local_34)" identifier (argument_list "(uVar24,(uint)local_34)" ( identifier , (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) )))))) ;) (if_statement "if (uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))\n                goto LAB_000231ba;" if (parenthesized_expression "(uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34))" ( (binary_expression "uVar16 < uVar30 || uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34)" (binary_expression "uVar16 < uVar30" identifier < identifier) || (binary_expression "uVar16 - uVar30 < (uint)(uVar14 < uVar24 + (uint)local_34)" (binary_expression "uVar16 - uVar30" identifier - identifier) < (call_expression "(uint)(uVar14 < uVar24 + (uint)local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar24 + (uint)local_34)" ( (binary_expression "uVar14 < uVar24 + (uint)local_34" identifier < (binary_expression "uVar24 + (uint)local_34" identifier + (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier))) ))))) )) (goto_statement "goto LAB_000231ba;" goto statement_identifier ;)) (if_statement "if (uVar16 != uVar25 || uVar14 != uVar17) {\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }" if (parenthesized_expression "(uVar16 != uVar25 || uVar14 != uVar17)" ( (binary_expression "uVar16 != uVar25 || uVar14 != uVar17" (binary_expression "uVar16 != uVar25" identifier != identifier) || (binary_expression "uVar14 != uVar17" identifier != identifier)) )) (compound_statement "{\n                  plVar4 = (local_9c->wild_statement).children.head;\n                  pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);\n                  einfo(pcVar19,plVar4);\n                  local_84 = (local_9c->output_section_statement).bfd_section;\n                  uVar15 = local_84->flags;\n                  local_7c = (asection *)(uVar15 & 1);\n                  goto LAB_0002263c;\n                }" { (expression_statement "plVar4 = (local_9c->wild_statement).children.head;" (assignment_expression "plVar4 = (local_9c->wild_statement).children.head" identifier = (field_expression "(local_9c->wild_statement).children.head" (field_expression "(local_9c->wild_statement).children" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16)" identifier = (cast_expression "(char *)dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16)" identifier (argument_list "(0,"%P: warning: dot moved backwards before `%s\'\n",5,\n                                              uVar16)" ( number_literal , (string_literal ""%P: warning: dot moved backwards before `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal , identifier ))))) ;) (expression_statement "einfo(pcVar19,plVar4);" (call_expression "einfo(pcVar19,plVar4)" identifier (argument_list "(pcVar19,plVar4)" ( identifier , identifier ))) ;) (expression_statement "local_84 = (local_9c->output_section_statement).bfd_section;" (assignment_expression "local_84 = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar15 = local_84->flags;" (assignment_expression "uVar15 = local_84->flags" identifier = (field_expression "local_84->flags" identifier -> field_identifier)) ;) (expression_statement "local_7c = (asection *)(uVar15 & 1);" (assignment_expression "local_7c = (asection *)(uVar15 & 1)" identifier = (cast_expression "(asection *)(uVar15 & 1)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 & 1)" ( (binary_expression "uVar15 & 1" identifier & number_literal) )))) ;) (goto_statement "goto LAB_0002263c;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }" else (compound_statement "{\nLAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }\n                if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }\n                *(asection **)&local_84->lma = local_7c;\n                *(uint *)((int)&local_84->lma + 4) = local_78;\n              }" { (labeled_statement "LAB_000231ba:\n                if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }" statement_identifier : (if_statement "if ((local_9c->output_section_statement).sectype == overlay_section) {\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }\n                else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }" if (parenthesized_expression "((local_9c->output_section_statement).sectype == overlay_section)" ( (binary_expression "(local_9c->output_section_statement).sectype == overlay_section" (field_expression "(local_9c->output_section_statement).sectype" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) == identifier) )) (compound_statement "{\n                  uVar14 = *(uint *)((int)&paVar26->size + 4);\n                  uVar24 = uVar14 >> (bVar23 & 0x1f);\n                  uVar16 = uVar24;\n                  uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;\n                  if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }\n                  local_7c = (asection *)(uVar14 + uVar17);\n                  local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);\n                }" { (expression_statement "uVar14 = *(uint *)((int)&paVar26->size + 4);" (assignment_expression "uVar14 = *(uint *)((int)&paVar26->size + 4)" identifier = (pointer_expression "*(uint *)((int)&paVar26->size + 4)" * (cast_expression "(uint *)((int)&paVar26->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->size + 4)" ( (binary_expression "(int)&paVar26->size + 4" (cast_expression "(int)&paVar26->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->size" & (field_expression "paVar26->size" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar24 = uVar14 >> (bVar23 & 0x1f);" (assignment_expression "uVar24 = uVar14 >> (bVar23 & 0x1f)" identifier = (binary_expression "uVar14 >> (bVar23 & 0x1f)" identifier >> (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar16 = uVar24;" (assignment_expression "uVar16 = uVar24" identifier = identifier) ;) (expression_statement "uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)\n                  ;" (assignment_expression "uVar14 = (uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)" identifier = (binary_expression "(uint)paVar26->size >> (bVar23 & 0x1f) | uVar14 << 0x20 - (bVar23 & 0x1f)" (binary_expression "(uint)paVar26->size >> (bVar23 & 0x1f)" (cast_expression "(uint)paVar26->size" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar26->size" identifier -> field_identifier)) >> (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar14 << 0x20 - (bVar23 & 0x1f)" identifier << (binary_expression "0x20 - (bVar23 & 0x1f)" number_literal - (parenthesized_expression "(bVar23 & 0x1f)" ( (binary_expression "bVar23 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((opb_shift & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }" if (parenthesized_expression "((opb_shift & 0x20) != 0)" ( (binary_expression "(opb_shift & 0x20) != 0" (parenthesized_expression "(opb_shift & 0x20)" ( (binary_expression "opb_shift & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar16 = 0;\n                    uVar14 = uVar24;\n                  }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = uVar24;" (assignment_expression "uVar14 = uVar24" identifier = identifier) ;) })) (expression_statement "local_7c = (asection *)(uVar14 + uVar17);" (assignment_expression "local_7c = (asection *)(uVar14 + uVar17)" identifier = (cast_expression "(asection *)(uVar14 + uVar17)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 + uVar17)" ( (binary_expression "uVar14 + uVar17" identifier + identifier) )))) ;) (expression_statement "local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17);" (assignment_expression "local_78 = uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17)" identifier = (binary_expression "uVar16 + uVar25 + (uint)CARRY4(uVar14,uVar17)" (binary_expression "uVar16 + uVar25" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar14,uVar17)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar14,uVar17)" identifier (argument_list "(uVar14,uVar17)" ( identifier , identifier )))))) ;) }) (else_clause "else {\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }" else (compound_statement "{\n                  local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);\n                  local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);\n                }" { (expression_statement "local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14);" (assignment_expression "local_7c = (asection *)(((uint)local_34 + uVar17) - uVar14)" identifier = (cast_expression "(asection *)(((uint)local_34 + uVar17) - uVar14)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)local_34 + uVar17) - uVar14)" ( (binary_expression "((uint)local_34 + uVar17) - uVar14" (parenthesized_expression "((uint)local_34 + uVar17)" ( (binary_expression "(uint)local_34 + uVar17" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) + identifier) )) - identifier) )))) ;) (expression_statement "local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14);" (assignment_expression "local_78 = ((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14)" identifier = (binary_expression "((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16) - (uint)((uint)local_34 + uVar17 < uVar14)" (parenthesized_expression "((local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16)" ( (binary_expression "(local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)) -\n                             uVar16" (parenthesized_expression "(local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17))" ( (binary_expression "local_34._4_4_ + uVar25 + (uint)CARRY4((uint)local_34,uVar17)" (binary_expression "local_34._4_4_ + uVar25" (field_expression "local_34._4_4_" identifier . field_identifier) + identifier) + (cast_expression "(uint)CARRY4((uint)local_34,uVar17)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_34,uVar17)" identifier (argument_list "((uint)local_34,uVar17)" ( (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))))) )) - identifier) )) - (call_expression "(uint)((uint)local_34 + uVar17 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 + uVar17 < uVar14)" ( (binary_expression "(uint)local_34 + uVar17 < uVar14" (binary_expression "(uint)local_34 + uVar17" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) + identifier) < identifier) ))))) ;) })))) (if_statement "if (0 < (int)local_6c) {\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }" if (parenthesized_expression "(0 < (int)local_6c)" ( (binary_expression "0 < (int)local_6c" number_literal < (cast_expression "(int)local_6c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  bVar23 = (byte)local_6c & 0x1f;\n                  uVar17 = 1 << ((byte)local_6c & 0x1f);\n                  uVar16 = uVar17;\n                  uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n                  if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }\n                  bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);\n                  local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);\n                  local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;\n                }" { (expression_statement "bVar23 = (byte)local_6c & 0x1f;" (assignment_expression "bVar23 = (byte)local_6c & 0x1f" identifier = (binary_expression "(byte)local_6c & 0x1f" (cast_expression "(byte)local_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar17 = 1 << ((byte)local_6c & 0x1f);" (assignment_expression "uVar17 = 1 << ((byte)local_6c & 0x1f)" identifier = (binary_expression "1 << ((byte)local_6c & 0x1f)" number_literal << (parenthesized_expression "((byte)local_6c & 0x1f)" ( (binary_expression "(byte)local_6c & 0x1f" (cast_expression "(byte)local_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) (expression_statement "uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23;" (assignment_expression "uVar14 = 0 << bVar23 | 1U >> 0x20 - bVar23" identifier = (binary_expression "0 << bVar23 | 1U >> 0x20 - bVar23" (binary_expression "0 << bVar23" number_literal << identifier) | (binary_expression "1U >> 0x20 - bVar23" number_literal >> (binary_expression "0x20 - bVar23" number_literal - identifier)))) ;) (if_statement "if ((local_6c & 0x20) != 0) {\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }" if (parenthesized_expression "((local_6c & 0x20) != 0)" ( (binary_expression "(local_6c & 0x20) != 0" (parenthesized_expression "(local_6c & 0x20)" ( (binary_expression "local_6c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar16 = 0;\n                    uVar14 = uVar17;\n                  }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = uVar17;" (assignment_expression "uVar14 = uVar17" identifier = identifier) ;) })) (expression_statement "bVar33 = CARRY4(uVar16 - 1,(uint)local_7c);" (assignment_expression "bVar33 = CARRY4(uVar16 - 1,(uint)local_7c)" identifier = (call_expression "CARRY4(uVar16 - 1,(uint)local_7c)" identifier (argument_list "(uVar16 - 1,(uint)local_7c)" ( (binary_expression "uVar16 - 1" identifier - number_literal) , (cast_expression "(uint)local_7c" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16);" (assignment_expression "local_7c = (asection *)((uVar16 - 1) + (int)local_7c & -uVar16)" identifier = (cast_expression "(asection *)((uVar16 - 1) + (int)local_7c & -uVar16)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar16 - 1) + (int)local_7c & -uVar16)" ( (binary_expression "(uVar16 - 1) + (int)local_7c & -uVar16" (binary_expression "(uVar16 - 1) + (int)local_7c" (parenthesized_expression "(uVar16 - 1)" ( (binary_expression "uVar16 - 1" identifier - number_literal) )) + (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier)) & (unary_expression "-uVar16" - identifier)) )))) ;) (expression_statement "local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33;" (assignment_expression "local_78 = -(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33" identifier = (binary_expression "-(uVar14 + (uVar16 != 0)) &\n                             (uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33" (unary_expression "-(uVar14 + (uVar16 != 0))" - (parenthesized_expression "(uVar14 + (uVar16 != 0))" ( (binary_expression "uVar14 + (uVar16 != 0)" identifier + (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) ))) ))) & (binary_expression "(uVar14 - 1) + (uint)(uVar16 != 0) + local_78 + (uint)bVar33" (binary_expression "(uVar14 - 1) + (uint)(uVar16 != 0) + local_78" (binary_expression "(uVar14 - 1) + (uint)(uVar16 != 0)" (parenthesized_expression "(uVar14 - 1)" ( (binary_expression "uVar14 - 1" identifier - number_literal) )) + (call_expression "(uint)(uVar16 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) )))) + identifier) + (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier)))) ;) })) (expression_statement "*(asection **)&local_84->lma = local_7c;" (assignment_expression "*(asection **)&local_84->lma = local_7c" (pointer_expression "*(asection **)&local_84->lma" * (cast_expression "(asection **)&local_84->lma" ( (type_descriptor "asection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_84->lma" & (field_expression "local_84->lma" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(uint *)((int)&local_84->lma + 4) = local_78;" (assignment_expression "*(uint *)((int)&local_84->lma + 4) = local_78" (pointer_expression "*(uint *)((int)&local_84->lma + 4)" * (cast_expression "(uint *)((int)&local_84->lma + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_84->lma + 4)" ( (binary_expression "(int)&local_84->lma + 4" (cast_expression "(int)&local_84->lma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_84->lma" & (field_expression "local_84->lma" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) }))) (expression_statement "*(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;" (assignment_expression "*(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_9c + 0x54) | 2" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (goto_statement "goto LAB_00022648;" goto statement_identifier ;) })) (expression_statement "*(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;" (assignment_expression "*(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_9c + 0x54) | 2" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");\n            local_84 = (local_9c->output_section_statement).bfd_section;\n            uVar15 = local_84->flags;\n            local_84->lma = bVar36;\n            local_7c = (asection *)(uVar15 & 1);\nLAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;\n            if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base");" (assignment_expression "bVar36 = exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base")" identifier = (call_expression "exp_get_abs_int((local_9c->output_section_statement).load_base,0,"load base")" identifier (argument_list "((local_9c->output_section_statement).load_base,0,"load base")" ( (field_expression "(local_9c->output_section_statement).load_base" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) , number_literal , (string_literal ""load base"" " string_content ") )))) ;) (expression_statement "local_84 = (local_9c->output_section_statement).bfd_section;" (assignment_expression "local_84 = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar15 = local_84->flags;" (assignment_expression "uVar15 = local_84->flags" identifier = (field_expression "local_84->flags" identifier -> field_identifier)) ;) (expression_statement "local_84->lma = bVar36;" (assignment_expression "local_84->lma = bVar36" (field_expression "local_84->lma" identifier -> field_identifier) = identifier) ;) (expression_statement "local_7c = (asection *)(uVar15 & 1);" (assignment_expression "local_7c = (asection *)(uVar15 & 1)" identifier = (cast_expression "(asection *)(uVar15 & 1)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 & 1)" ( (binary_expression "uVar15 & 1" identifier & number_literal) )))) ;) (labeled_statement "LAB_0002263c:\n            *(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;" statement_identifier : (expression_statement "*(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2;" (assignment_expression "*(byte *)((int)local_9c + 0x54) = *(byte *)((int)local_9c + 0x54) | 2" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_9c + 0x54) | 2" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;)) (if_statement "if (local_7c != (asection *)0x0) {\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(local_7c != (asection *)0x0)" ( (binary_expression "local_7c != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }\n            }" { (labeled_statement "LAB_00022648:\n              if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }" statement_identifier : (if_statement "if ((uVar15 & 0x402) != 0x400) {\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }" if (parenthesized_expression "((uVar15 & 0x402) != 0x400)" ( (binary_expression "(uVar15 & 0x402) != 0x400" (parenthesized_expression "(uVar15 & 0x402)" ( (binary_expression "uVar15 & 0x402" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }\n              }" { (if_statement "if (*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0) {\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }\n                else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }" if (parenthesized_expression "(*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0)" ( (binary_expression "*(int *)((int)&local_84->size + 4) == 0 && (int)local_84->size == 0" (binary_expression "*(int *)((int)&local_84->size + 4) == 0" (pointer_expression "*(int *)((int)&local_84->size + 4)" * (cast_expression "(int *)((int)&local_84->size + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_84->size + 4)" ( (binary_expression "(int)&local_84->size + 4" (cast_expression "(int)&local_84->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_84->size" & (field_expression "local_84->size" identifier -> field_identifier))) + number_literal) )))) == number_literal) && (binary_expression "(int)local_84->size == 0" (cast_expression "(int)local_84->size" ( (type_descriptor "int" primitive_type) ) (field_expression "local_84->size" identifier -> field_identifier)) == number_literal)) )) (compound_statement "{\n                  if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }\n                }" { (if_statement "if (local_64->last_os == (lang_statement_union *)0x0) {\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }\n                  else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }" if (parenthesized_expression "(local_64->last_os == (lang_statement_union *)0x0)" ( (binary_expression "local_64->last_os == (lang_statement_union *)0x0" (field_expression "local_64->last_os" identifier -> field_identifier) == (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;\n                  }" { (if_statement "if (*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma) goto LAB_00022a68;" if (parenthesized_expression "(*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma)" ( (binary_expression "*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4) ||\n                        (int)local_84->vma != (int)local_84->lma" (binary_expression "*(int *)((int)&local_84->vma + 4) != *(int *)((int)&local_84->lma + 4)" (pointer_expression "*(int *)((int)&local_84->vma + 4)" * (cast_expression "(int *)((int)&local_84->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_84->vma + 4)" ( (binary_expression "(int)&local_84->vma + 4" (cast_expression "(int)&local_84->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_84->vma" & (field_expression "local_84->vma" identifier -> field_identifier))) + number_literal) )))) != (pointer_expression "*(int *)((int)&local_84->lma + 4)" * (cast_expression "(int *)((int)&local_84->lma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_84->lma + 4)" ( (binary_expression "(int)&local_84->lma + 4" (cast_expression "(int)&local_84->lma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_84->lma" & (field_expression "local_84->lma" identifier -> field_identifier))) + number_literal) ))))) || (binary_expression "(int)local_84->vma != (int)local_84->lma" (cast_expression "(int)local_84->vma" ( (type_descriptor "int" primitive_type) ) (field_expression "local_84->vma" identifier -> field_identifier)) != (cast_expression "(int)local_84->lma" ( (type_descriptor "int" primitive_type) ) (field_expression "local_84->lma" identifier -> field_identifier)))) )) (goto_statement "goto LAB_00022a68;" goto statement_identifier ;)) }) (else_clause "else {\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }" else (compound_statement "{\n                    paVar26 = (local_64->last_os->output_section_statement).bfd_section;\n                    uVar14 = *(uint *)((int)&paVar26->vma + 4);\n                    if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;\n                  }" { (expression_statement "paVar26 = (local_64->last_os->output_section_statement).bfd_section;" (assignment_expression "paVar26 = (local_64->last_os->output_section_statement).bfd_section" identifier = (field_expression "(local_64->last_os->output_section_statement).bfd_section" (parenthesized_expression "(local_64->last_os->output_section_statement)" ( (field_expression "local_64->last_os->output_section_statement" (field_expression "local_64->last_os" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar14 = *(uint *)((int)&paVar26->vma + 4);" (assignment_expression "uVar14 = *(uint *)((int)&paVar26->vma + 4)" identifier = (pointer_expression "*(uint *)((int)&paVar26->vma + 4)" * (cast_expression "(uint *)((int)&paVar26->vma + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->vma + 4)" ( (binary_expression "(int)&paVar26->vma + 4" (cast_expression "(int)&paVar26->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->vma" & (field_expression "paVar26->vma" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)\n                    goto LAB_00022a68;" if (parenthesized_expression "(uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14)" ( (binary_expression "uVar14 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14" (binary_expression "uVar14 <= local_34._4_4_" identifier <= (field_expression "local_34._4_4_" identifier . field_identifier)) && (binary_expression "(uint)((uint)local_34 < (uint)paVar26->vma) <= local_34._4_4_ - uVar14" (call_expression "(uint)((uint)local_34 < (uint)paVar26->vma)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < (uint)paVar26->vma)" ( (binary_expression "(uint)local_34 < (uint)paVar26->vma" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)paVar26->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar26->vma" identifier -> field_identifier))) ))) <= (binary_expression "local_34._4_4_ - uVar14" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier))) )) (goto_statement "goto LAB_00022a68;" goto statement_identifier ;)) }))) }) (else_clause "else {\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }" else (compound_statement "{\nLAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }\n                }" { (labeled_statement "LAB_00022a68:\n                  if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }" statement_identifier : (if_statement "if (((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)) {\n                    local_64->last_os = local_9c;\n                  }" if (parenthesized_expression "(((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2))" ( (binary_expression "((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0) && ((link_info._0_1_ & 3) != 2)" (parenthesized_expression "((local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0)" ( (binary_expression "(local_9c->wild_statement).walk_wild_section_handler ==\n                       (walk_wild_section_handler_t)0x0" (field_expression "(local_9c->wild_statement).walk_wild_section_handler" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(walk_wild_section_handler_t)0x0" ( (type_descriptor "walk_wild_section_handler_t" type_identifier) ) number_literal)) )) && (parenthesized_expression "((link_info._0_1_ & 3) != 2)" ( (binary_expression "(link_info._0_1_ & 3) != 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    local_64->last_os = local_9c;\n                  }" { (expression_statement "local_64->last_os = local_9c;" (assignment_expression "local_64->last_os = local_9c" (field_expression "local_64->last_os" identifier -> field_identifier) = identifier) ;) }))) }))) }))) })) }))) (if_statement "if ((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)) {\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }" if (parenthesized_expression "((local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0))" ( (binary_expression "(local_84 != (asection *)(puVar10 + 0x180)) &&\n             ((*(byte *)((int)local_9c + 0x54) & 8) == 0)" (parenthesized_expression "(local_84 != (asection *)(puVar10 + 0x180))" ( (binary_expression "local_84 != (asection *)(puVar10 + 0x180)" identifier != (cast_expression "(asection *)(puVar10 + 0x180)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x180)" ( (binary_expression "puVar10 + 0x180" identifier + number_literal) )))) )) && (parenthesized_expression "((*(byte *)((int)local_9c + 0x54) & 8) == 0)" ( (binary_expression "(*(byte *)((int)local_9c + 0x54) & 8) == 0" (parenthesized_expression "(*(byte *)((int)local_9c + 0x54) & 8)" ( (binary_expression "*(byte *)((int)local_9c + 0x54) & 8" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n            if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }\n            local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);\n            if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }\n            plVar20 = (local_9c->output_section_statement).region;\n            if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }\n          }" { (if_statement "if ((uVar15 & 0x402) == 0x400) {\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }\n            else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }" if (parenthesized_expression "((uVar15 & 0x402) == 0x400)" ( (binary_expression "(uVar15 & 0x402) == 0x400" (parenthesized_expression "(uVar15 & 0x402)" ( (binary_expression "uVar15 & 0x402" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              local_7c = (asection *)0x0;\n              local_78 = 0;\n              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;\n            }" { (expression_statement "local_7c = (asection *)0x0;" (assignment_expression "local_7c = (asection *)0x0" identifier = (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (if_statement "if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;" if (parenthesized_expression "((link_info._0_1_ & 3) == 2)" ( (binary_expression "(link_info._0_1_ & 3) == 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000226bf;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }" else (compound_statement "{\nLAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);\n              bVar23 = (byte)opb_shift & 0x1f;\n              uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);\n              local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);\n              local_78 = uVar14;\n              if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }\n            }" { (labeled_statement "LAB_000226bf:\n              uVar15 = *(uint *)((int)&local_84->size + 4);" statement_identifier : (expression_statement "uVar15 = *(uint *)((int)&local_84->size + 4);" (assignment_expression "uVar15 = *(uint *)((int)&local_84->size + 4)" identifier = (pointer_expression "*(uint *)((int)&local_84->size + 4)" * (cast_expression "(uint *)((int)&local_84->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_84->size + 4)" ( (binary_expression "(int)&local_84->size + 4" (cast_expression "(int)&local_84->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_84->size" & (field_expression "local_84->size" identifier -> field_identifier))) + number_literal) ))))) ;)) (expression_statement "bVar23 = (byte)opb_shift & 0x1f;" (assignment_expression "bVar23 = (byte)opb_shift & 0x1f" identifier = (binary_expression "(byte)opb_shift & 0x1f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar14 = uVar15 >> ((byte)opb_shift & 0x1f);" (assignment_expression "uVar14 = uVar15 >> ((byte)opb_shift & 0x1f)" identifier = (binary_expression "uVar15 >> ((byte)opb_shift & 0x1f)" identifier >> (parenthesized_expression "((byte)opb_shift & 0x1f)" ( (binary_expression "(byte)opb_shift & 0x1f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23);" (assignment_expression "local_7c = (asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23)" identifier = (cast_expression "(asection *)((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23)" ( (binary_expression "(uint)local_84->size >> bVar23 | uVar15 << 0x20 - bVar23" (binary_expression "(uint)local_84->size >> bVar23" (cast_expression "(uint)local_84->size" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_84->size" identifier -> field_identifier)) >> identifier) | (binary_expression "uVar15 << 0x20 - bVar23" identifier << (binary_expression "0x20 - bVar23" number_literal - identifier))) )))) ;) (expression_statement "local_78 = uVar14;" (assignment_expression "local_78 = uVar14" identifier = identifier) ;) (if_statement "if ((opb_shift & 0x20) != 0) {\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }" if (parenthesized_expression "((opb_shift & 0x20) != 0)" ( (binary_expression "(opb_shift & 0x20) != 0" (parenthesized_expression "(opb_shift & 0x20)" ( (binary_expression "opb_shift & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                local_78 = 0;\n                local_7c = (asection *)uVar14;\n              }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_7c = (asection *)uVar14;" (assignment_expression "local_7c = (asection *)uVar14" identifier = (cast_expression "(asection *)uVar14" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }))) (expression_statement "local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c);" (assignment_expression "local_34 = CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c)" identifier = (call_expression "CONCAT44(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c)" identifier (argument_list "(local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c),\n                                (uint)local_34 + (int)local_7c)" ( (binary_expression "local_34._4_4_ + local_78 +\n                                (uint)CARRY4((uint)local_34,(uint)local_7c)" (binary_expression "local_34._4_4_ + local_78" (field_expression "local_34._4_4_" identifier . field_identifier) + identifier) + (cast_expression "(uint)CARRY4((uint)local_34,(uint)local_7c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_34,(uint)local_7c)" identifier (argument_list "((uint)local_34,(uint)local_7c)" ( (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)local_7c" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) , (binary_expression "(uint)local_34 + (int)local_7c" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }" if (parenthesized_expression "((local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0)" ( (binary_expression "(local_9c->output_section_statement).update_dot_tree != (etree_type *)0x0" (field_expression "(local_9c->output_section_statement).update_dot_tree" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(etree_type *)0x0" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);\n            }" { (expression_statement "exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34);" (call_expression "exp_fold_tree((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34)" identifier (argument_list "((local_9c->output_section_statement).update_dot_tree,\n                            (asection *)(puVar10 + 0x180),&local_34)" ( (field_expression "(local_9c->output_section_statement).update_dot_tree" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) , (cast_expression "(asection *)(puVar10 + 0x180)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x180)" ( (binary_expression "puVar10 + 0x180" identifier + number_literal) ))) , (pointer_expression "&local_34" & identifier) ))) ;) })) (expression_statement "plVar20 = (local_9c->output_section_statement).region;" (assignment_expression "plVar20 = (local_9c->output_section_statement).region" identifier = (field_expression "(local_9c->output_section_statement).region" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)) {\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }" if (parenthesized_expression "((plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0))" ( (binary_expression "(plVar20 != (lang_memory_region_type *)0x0) &&\n               (paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)" (parenthesized_expression "(plVar20 != (lang_memory_region_type *)0x0)" ( (binary_expression "plVar20 != (lang_memory_region_type *)0x0" identifier != (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0)" ( (comma_expression "paVar26 = (local_9c->output_section_statement).bfd_section,\n               (paVar26->flags & 3) != 0" (assignment_expression "paVar26 = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "(paVar26->flags & 3) != 0" (parenthesized_expression "(paVar26->flags & 3)" ( (binary_expression "paVar26->flags & 3" (field_expression "paVar26->flags" identifier -> field_identifier) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n              *(uint *)&plVar20->current = (uint)local_34;\n              *(uint *)((int)&plVar20->current + 4) = local_34._4_4_;\n              if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }\n              plVar20 = (local_9c->output_section_statement).lma_region;\n              if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }\n            }" { (expression_statement "*(uint *)&plVar20->current = (uint)local_34;" (assignment_expression "*(uint *)&plVar20->current = (uint)local_34" (pointer_expression "*(uint *)&plVar20->current" * (cast_expression "(uint *)&plVar20->current" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&plVar20->current" & (field_expression "plVar20->current" identifier -> field_identifier)))) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(uint *)((int)&plVar20->current + 4) = local_34._4_4_;" (assignment_expression "*(uint *)((int)&plVar20->current + 4) = local_34._4_4_" (pointer_expression "*(uint *)((int)&plVar20->current + 4)" * (cast_expression "(uint *)((int)&plVar20->current + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&plVar20->current + 4)" ( (binary_expression "(int)&plVar20->current + 4" (cast_expression "(int)&plVar20->current" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&plVar20->current" & (field_expression "plVar20->current" identifier -> field_identifier))) + number_literal) )))) = (field_expression "local_34._4_4_" identifier . field_identifier)) ;) (if_statement "if (check_regions != 0) {\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }" if (parenthesized_expression "(check_regions != 0)" ( (binary_expression "check_regions != 0" identifier != number_literal) )) (compound_statement "{\n                os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);\n              }" { (expression_statement "os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma);" (call_expression "os_region_check((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma)" identifier (argument_list "((lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail,plVar20,\n                                (local_9c->output_section_statement).addr_tree,paVar26->vma)" ( (cast_expression "(lang_output_section_statement_type *)\n                                &(local_9c->wild_statement).children.tail" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_9c->wild_statement).children.tail" & (field_expression "(local_9c->wild_statement).children.tail" (field_expression "(local_9c->wild_statement).children" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier))) , identifier , (field_expression "(local_9c->output_section_statement).addr_tree" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier) , (field_expression "paVar26->vma" identifier -> field_identifier) ))) ;) })) (expression_statement "plVar20 = (local_9c->output_section_statement).lma_region;" (assignment_expression "plVar20 = (local_9c->output_section_statement).lma_region" identifier = (field_expression "(local_9c->output_section_statement).lma_region" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))) {\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }" if (parenthesized_expression "(((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0))))" ( (binary_expression "((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)) &&\n                 ((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))" (parenthesized_expression "((plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list))" ( (binary_expression "(plVar20 != (lang_memory_region_type *)0x0) &&\n                  (plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)" (parenthesized_expression "(plVar20 != (lang_memory_region_type *)0x0)" ( (binary_expression "plVar20 != (lang_memory_region_type *)0x0" identifier != (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list)" ( (binary_expression "plVar20 !=\n                   (lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list" identifier != (cast_expression "(lang_memory_region_type *)(local_9c->wild_statement).exclude_name_list" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_9c->wild_statement).exclude_name_list" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier))) ))) )) && (parenthesized_expression "((paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)))" ( (parenthesized_expression "(paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0))" ( (comma_expression "paVar26 = (local_9c->output_section_statement).bfd_section,\n                  (paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)" (assignment_expression "paVar26 = (local_9c->output_section_statement).bfd_section" identifier = (field_expression "(local_9c->output_section_statement).bfd_section" (parenthesized_expression "(local_9c->output_section_statement)" ( (field_expression "local_9c->output_section_statement" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "(paVar26->flags & 2) != 0 || ((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)" (binary_expression "(paVar26->flags & 2) != 0" (parenthesized_expression "(paVar26->flags & 2)" ( (binary_expression "paVar26->flags & 2" (field_expression "paVar26->flags" identifier -> field_identifier) & number_literal) )) != number_literal) || (parenthesized_expression "((*(byte *)((int)local_9c + 0x54) & 0x40) != 0)" ( (binary_expression "(*(byte *)((int)local_9c + 0x54) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)local_9c + 0x54) & 0x40)" ( (binary_expression "*(byte *)((int)local_9c + 0x54) & 0x40" (pointer_expression "*(byte *)((int)local_9c + 0x54)" * (cast_expression "(byte *)((int)local_9c + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0x54)" ( (binary_expression "(int)local_9c + 0x54" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )))) )) ))) )) (compound_statement "{\n                uVar15 = (uint)paVar26->lma;\n                iVar13 = *(int *)((int)&paVar26->lma + 4);\n                bVar36 = paVar26->lma;\n                *(uint *)&plVar20->current = (int)local_7c + uVar15;\n                *(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);\n                if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }\n              }" { (expression_statement "uVar15 = (uint)paVar26->lma;" (assignment_expression "uVar15 = (uint)paVar26->lma" identifier = (cast_expression "(uint)paVar26->lma" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar26->lma" identifier -> field_identifier))) ;) (expression_statement "iVar13 = *(int *)((int)&paVar26->lma + 4);" (assignment_expression "iVar13 = *(int *)((int)&paVar26->lma + 4)" identifier = (pointer_expression "*(int *)((int)&paVar26->lma + 4)" * (cast_expression "(int *)((int)&paVar26->lma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->lma + 4)" ( (binary_expression "(int)&paVar26->lma + 4" (cast_expression "(int)&paVar26->lma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->lma" & (field_expression "paVar26->lma" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar36 = paVar26->lma;" (assignment_expression "bVar36 = paVar26->lma" identifier = (field_expression "paVar26->lma" identifier -> field_identifier)) ;) (expression_statement "*(uint *)&plVar20->current = (int)local_7c + uVar15;" (assignment_expression "*(uint *)&plVar20->current = (int)local_7c + uVar15" (pointer_expression "*(uint *)&plVar20->current" * (cast_expression "(uint *)&plVar20->current" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&plVar20->current" & (field_expression "plVar20->current" identifier -> field_identifier)))) = (binary_expression "(int)local_7c + uVar15" (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "*(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15);" (assignment_expression "*(uint *)((int)&plVar20->current + 4) =\n                     local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15)" (pointer_expression "*(uint *)((int)&plVar20->current + 4)" * (cast_expression "(uint *)((int)&plVar20->current + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&plVar20->current + 4)" ( (binary_expression "(int)&plVar20->current + 4" (cast_expression "(int)&plVar20->current" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&plVar20->current" & (field_expression "plVar20->current" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_78 + iVar13 + (uint)CARRY4((uint)local_7c,uVar15)" (binary_expression "local_78 + iVar13" identifier + identifier) + (cast_expression "(uint)CARRY4((uint)local_7c,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_7c,uVar15)" identifier (argument_list "((uint)local_7c,uVar15)" ( (cast_expression "(uint)local_7c" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))))) ;) (if_statement "if (check_regions != 0) {\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }" if (parenthesized_expression "(check_regions != 0)" ( (binary_expression "check_regions != 0" identifier != number_literal) )) (compound_statement "{\n                  os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);\n                }" { (expression_statement "os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36);" (call_expression "os_region_check((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36)" identifier (argument_list "((lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail,plVar20,\n                                  (etree_type *)0x0,bVar36)" ( (cast_expression "(lang_output_section_statement_type *)\n                                  &(local_9c->wild_statement).children.tail" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_9c->wild_statement).children.tail" & (field_expression "(local_9c->wild_statement).children.tail" (field_expression "(local_9c->wild_statement).children" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier))) , identifier , (cast_expression "(etree_type *)0x0" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))) ;) })) })) })) })) }))) })) })) (break_statement "break;" break ;)) (case_statement "case lang_assignment_statement_enum:\n    again = (uint)local_34;\n    local_20 = local_34._4_4_;\n    tree = (etree_type *)(local_9c->input_section).section;\n    expld.dataseg.relro = exp_seg_relro_none;\n    exp_fold_tree(tree,output_section_statement->bfd_section,(bfd_vma *)&again);\n    plVar4 = expld.dataseg.relro_start_stat;\n    plVar12 = expld.dataseg.relro_end_stat;\n    if (expld.dataseg.relro == exp_seg_relro_start) {\n      plVar4 = local_9c;\n      if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }\n    }\n    else if (((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }\n    expld.dataseg.relro_end_stat = plVar12;\n    expld.dataseg.relro_start_stat = plVar4;\n    expld.dataseg.relro = exp_seg_relro_none;\n    if ((((tree->type).node_class & ~etree_unary) == etree_assign) &&\n       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))) {\n      output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;\n    }\n    if ((output_section_statement->field_0x54 & 8) == 0) {\n      if (abs_output_section == output_section_statement) {\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }\n      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }\n    }\n    break;" case identifier : (expression_statement "again = (uint)local_34;" (assignment_expression "again = (uint)local_34" identifier = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_20 = local_34._4_4_;" (assignment_expression "local_20 = local_34._4_4_" identifier = (field_expression "local_34._4_4_" identifier . field_identifier)) ;) (expression_statement "tree = (etree_type *)(local_9c->input_section).section;" (assignment_expression "tree = (etree_type *)(local_9c->input_section).section" identifier = (cast_expression "(etree_type *)(local_9c->input_section).section" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_9c->input_section).section" (parenthesized_expression "(local_9c->input_section)" ( (field_expression "local_9c->input_section" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "expld.dataseg.relro = exp_seg_relro_none;" (assignment_expression "expld.dataseg.relro = exp_seg_relro_none" (field_expression "expld.dataseg.relro" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "exp_fold_tree(tree,output_section_statement->bfd_section,(bfd_vma *)&again);" (call_expression "exp_fold_tree(tree,output_section_statement->bfd_section,(bfd_vma *)&again)" identifier (argument_list "(tree,output_section_statement->bfd_section,(bfd_vma *)&again)" ( identifier , (field_expression "output_section_statement->bfd_section" identifier -> field_identifier) , (cast_expression "(bfd_vma *)&again" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&again" & identifier)) ))) ;) (expression_statement "plVar4 = expld.dataseg.relro_start_stat;" (assignment_expression "plVar4 = expld.dataseg.relro_start_stat" identifier = (field_expression "expld.dataseg.relro_start_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier)) ;) (expression_statement "plVar12 = expld.dataseg.relro_end_stat;" (assignment_expression "plVar12 = expld.dataseg.relro_end_stat" identifier = (field_expression "expld.dataseg.relro_end_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (expld.dataseg.relro == exp_seg_relro_start) {\n      plVar4 = local_9c;\n      if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }\n    }\n    else if (((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }" if (parenthesized_expression "(expld.dataseg.relro == exp_seg_relro_start)" ( (binary_expression "expld.dataseg.relro == exp_seg_relro_start" (field_expression "expld.dataseg.relro" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) == identifier) )) (compound_statement "{\n      plVar4 = local_9c;\n      if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }\n    }" { (expression_statement "plVar4 = local_9c;" (assignment_expression "plVar4 = local_9c" identifier = identifier) ;) (if_statement "if ((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)) {\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }" if (parenthesized_expression "((expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c))" ( (binary_expression "(expld.dataseg.relro_start_stat != (lang_statement_union *)0x0) &&\n         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)" (parenthesized_expression "(expld.dataseg.relro_start_stat != (lang_statement_union *)0x0)" ( (binary_expression "expld.dataseg.relro_start_stat != (lang_statement_union *)0x0" (field_expression "expld.dataseg.relro_start_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c)" ( (comma_expression "plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != local_9c" (assignment_expression "plVar4 = expld.dataseg.relro_start_stat" identifier = (field_expression "expld.dataseg.relro_start_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier)) , (binary_expression "expld.dataseg.relro_start_stat != local_9c" (field_expression "expld.dataseg.relro_start_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) != identifier)) ))) )) (compound_statement "{\n        uVar15 = 0x137c;\n        goto LAB_0002296b;\n      }" { (expression_statement "uVar15 = 0x137c;" (assignment_expression "uVar15 = 0x137c" identifier = number_literal) ;) (goto_statement "goto LAB_0002296b;" goto statement_identifier ;) })) }) (else_clause "else if (((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }" else (if_statement "if (((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)) {\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }" if (parenthesized_expression "(((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c))" ( (binary_expression "((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)) &&\n            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)" (parenthesized_expression "((expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0))" ( (binary_expression "(expld.dataseg.relro == exp_seg_relro_end) &&\n             (plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)" (parenthesized_expression "(expld.dataseg.relro == exp_seg_relro_end)" ( (binary_expression "expld.dataseg.relro == exp_seg_relro_end" (field_expression "expld.dataseg.relro" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) == identifier) )) && (parenthesized_expression "(plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0)" ( (comma_expression "plVar12 = local_9c, expld.dataseg.relro_end_stat != (lang_statement_union *)0x0" (assignment_expression "plVar12 = local_9c" identifier = identifier) , (binary_expression "expld.dataseg.relro_end_stat != (lang_statement_union *)0x0" (field_expression "expld.dataseg.relro_end_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c)" ( (comma_expression "plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != local_9c" (assignment_expression "plVar12 = expld.dataseg.relro_end_stat" identifier = (field_expression "expld.dataseg.relro_end_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier)) , (binary_expression "expld.dataseg.relro_end_stat != local_9c" (field_expression "expld.dataseg.relro_end_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) != identifier)) ))) )) (compound_statement "{\n      uVar15 = 0x1385;\nLAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);\n      plVar4 = expld.dataseg.relro_start_stat;\n      plVar12 = expld.dataseg.relro_end_stat;\n    }" { (expression_statement "uVar15 = 0x1385;" (assignment_expression "uVar15 = 0x1385" identifier = number_literal) ;) (labeled_statement "LAB_0002296b:\n      info_assert("../../ld/ldlang.c",uVar15);" statement_identifier : (expression_statement "info_assert("../../ld/ldlang.c",uVar15);" (call_expression "info_assert("../../ld/ldlang.c",uVar15)" identifier (argument_list "("../../ld/ldlang.c",uVar15)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , identifier ))) ;)) (expression_statement "plVar4 = expld.dataseg.relro_start_stat;" (assignment_expression "plVar4 = expld.dataseg.relro_start_stat" identifier = (field_expression "expld.dataseg.relro_start_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier)) ;) (expression_statement "plVar12 = expld.dataseg.relro_end_stat;" (assignment_expression "plVar12 = expld.dataseg.relro_end_stat" identifier = (field_expression "expld.dataseg.relro_end_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier)) ;) })))) (expression_statement "expld.dataseg.relro_end_stat = plVar12;" (assignment_expression "expld.dataseg.relro_end_stat = plVar12" (field_expression "expld.dataseg.relro_end_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "expld.dataseg.relro_start_stat = plVar4;" (assignment_expression "expld.dataseg.relro_start_stat = plVar4" (field_expression "expld.dataseg.relro_start_stat" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "expld.dataseg.relro = exp_seg_relro_none;" (assignment_expression "expld.dataseg.relro = exp_seg_relro_none" (field_expression "expld.dataseg.relro" (field_expression "expld.dataseg" identifier . field_identifier) . field_identifier) = identifier) ;) (if_statement "if ((((tree->type).node_class & ~etree_unary) == etree_assign) &&\n       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))) {\n      output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;\n    }" if (parenthesized_expression "((((tree->type).node_class & ~etree_unary) == etree_assign) &&\n       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0'))))" ( (binary_expression "(((tree->type).node_class & ~etree_unary) == etree_assign) &&\n       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))" (parenthesized_expression "(((tree->type).node_class & ~etree_unary) == etree_assign)" ( (binary_expression "((tree->type).node_class & ~etree_unary) == etree_assign" (parenthesized_expression "((tree->type).node_class & ~etree_unary)" ( (binary_expression "(tree->type).node_class & ~etree_unary" (field_expression "(tree->type).node_class" (parenthesized_expression "(tree->type)" ( (field_expression "tree->type" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~etree_unary" ~ identifier)) )) == identifier) )) && (parenthesized_expression "((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))" ( (parenthesized_expression "(*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0'))" ( (binary_expression "*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')" (binary_expression "*(tree->assign).dst != '.'" (pointer_expression "*(tree->assign).dst" * (field_expression "(tree->assign).dst" (parenthesized_expression "(tree->assign)" ( (field_expression "tree->assign" identifier -> field_identifier) )) . field_identifier)) != (char_literal "'.'" ' character ')) || (parenthesized_expression "((tree->assign).dst[1] != '\0')" ( (binary_expression "(tree->assign).dst[1] != '\0'" (subscript_expression "(tree->assign).dst[1]" (field_expression "(tree->assign).dst" (parenthesized_expression "(tree->assign)" ( (field_expression "tree->assign" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n      output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;\n    }" { (expression_statement "output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10;" (assignment_expression "output_section_statement->field_0x54 = output_section_statement->field_0x54 | 0x10" (field_expression "output_section_statement->field_0x54" identifier -> field_identifier) = (binary_expression "output_section_statement->field_0x54 | 0x10" (field_expression "output_section_statement->field_0x54" identifier -> field_identifier) | number_literal)) ;) })) (if_statement "if ((output_section_statement->field_0x54 & 8) == 0) {\n      if (abs_output_section == output_section_statement) {\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }\n      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }\n    }" if (parenthesized_expression "((output_section_statement->field_0x54 & 8) == 0)" ( (binary_expression "(output_section_statement->field_0x54 & 8) == 0" (parenthesized_expression "(output_section_statement->field_0x54 & 8)" ( (binary_expression "output_section_statement->field_0x54 & 8" (field_expression "output_section_statement->field_0x54" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (abs_output_section == output_section_statement) {\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }\n      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }\n    }" { (if_statement "if (abs_output_section == output_section_statement) {\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }\n      else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }" if (parenthesized_expression "(abs_output_section == output_section_statement)" ( (binary_expression "abs_output_section == output_section_statement" identifier == identifier) )) (compound_statement "{\n        plVar20 = lang_memory_region_lookup("*default*",0);\n        *(bfd_boolean *)&plVar20->current = again;\n        *(int *)((int)&plVar20->current + 4) = local_20;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n      }" { (expression_statement "plVar20 = lang_memory_region_lookup("*default*",0);" (assignment_expression "plVar20 = lang_memory_region_lookup("*default*",0)" identifier = (call_expression "lang_memory_region_lookup("*default*",0)" identifier (argument_list "("*default*",0)" ( (string_literal ""*default*"" " string_content ") , number_literal )))) ;) (expression_statement "*(bfd_boolean *)&plVar20->current = again;" (assignment_expression "*(bfd_boolean *)&plVar20->current = again" (pointer_expression "*(bfd_boolean *)&plVar20->current" * (cast_expression "(bfd_boolean *)&plVar20->current" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&plVar20->current" & (field_expression "plVar20->current" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(int *)((int)&plVar20->current + 4) = local_20;" (assignment_expression "*(int *)((int)&plVar20->current + 4) = local_20" (pointer_expression "*(int *)((int)&plVar20->current + 4)" * (cast_expression "(int *)((int)&plVar20->current + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&plVar20->current + 4)" ( (binary_expression "(int)&plVar20->current + 4" (cast_expression "(int)&plVar20->current" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&plVar20->current" & (field_expression "plVar20->current" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "local_34._0_4_ = again;" (assignment_expression "local_34._0_4_ = again" (field_expression "local_34._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_34._4_4_ = local_20;" (assignment_expression "local_34._4_4_ = local_20" (field_expression "local_34._4_4_" identifier . field_identifier) = identifier) ;) }) (else_clause "else if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }" else (if_statement "if (local_20 != local_34._4_4_ || again != (uint)local_34) {\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }" if (parenthesized_expression "(local_20 != local_34._4_4_ || again != (uint)local_34)" ( (binary_expression "local_20 != local_34._4_4_ || again != (uint)local_34" (binary_expression "local_20 != local_34._4_4_" identifier != (field_expression "local_34._4_4_" identifier . field_identifier)) || (binary_expression "again != (uint)local_34" identifier != (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier))) )) (compound_statement "{\n        bVar23 = (byte)opb_shift & 0x1f;\n        uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);\n        uVar14 = uVar16;\n        uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;\n        if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }\n        insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);\n        local_9c = (local_9c->header).next;\n        local_34._0_4_ = again;\n        local_34._4_4_ = local_20;\n        if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }\n      }" { (expression_statement "bVar23 = (byte)opb_shift & 0x1f;" (assignment_expression "bVar23 = (byte)opb_shift & 0x1f" identifier = (binary_expression "(byte)opb_shift & 0x1f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f);" (assignment_expression "uVar16 = again - (uint)local_34 << ((byte)opb_shift & 0x1f)" identifier = (binary_expression "again - (uint)local_34 << ((byte)opb_shift & 0x1f)" (binary_expression "again - (uint)local_34" identifier - (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) << (parenthesized_expression "((byte)opb_shift & 0x1f)" ( (binary_expression "(byte)opb_shift & 0x1f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar14 = uVar16;" (assignment_expression "uVar14 = uVar16" identifier = identifier) ;) (expression_statement "uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23;" (assignment_expression "uVar15 = (local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23" identifier = (binary_expression "(local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23 |\n                 again - (uint)local_34 >> 0x20 - bVar23" (binary_expression "(local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34) << bVar23" (binary_expression "(local_20 - local_34._4_4_) - (uint)((uint)again < (uint)local_34)" (parenthesized_expression "(local_20 - local_34._4_4_)" ( (binary_expression "local_20 - local_34._4_4_" identifier - (field_expression "local_34._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)((uint)again < (uint)local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)again < (uint)local_34)" ( (binary_expression "(uint)again < (uint)local_34" (cast_expression "(uint)again" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) << identifier) | (binary_expression "again - (uint)local_34 >> 0x20 - bVar23" (binary_expression "again - (uint)local_34" identifier - (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) >> (binary_expression "0x20 - bVar23" number_literal - identifier)))) ;) (if_statement "if ((opb_shift & 0x20) != 0) {\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }" if (parenthesized_expression "((opb_shift & 0x20) != 0)" ( (binary_expression "(opb_shift & 0x20) != 0" (parenthesized_expression "(opb_shift & 0x20)" ( (binary_expression "opb_shift & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar14 = 0;\n          uVar15 = uVar16;\n        }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = uVar16;" (assignment_expression "uVar15 = uVar16" identifier = identifier) ;) })) (expression_statement "insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34);" (call_expression "insert_pad((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34)" identifier (argument_list "((lang_statement_union_type **)local_9c,local_8c,CONCAT44(uVar15,uVar14),\n                   output_section_statement->bfd_section,local_34)" ( (cast_expression "(lang_statement_union_type **)local_9c" ( (type_descriptor "lang_statement_union_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier , (call_expression "CONCAT44(uVar15,uVar14)" identifier (argument_list "(uVar15,uVar14)" ( identifier , identifier ))) , (field_expression "output_section_statement->bfd_section" identifier -> field_identifier) , identifier ))) ;) (expression_statement "local_9c = (local_9c->header).next;" (assignment_expression "local_9c = (local_9c->header).next" identifier = (field_expression "(local_9c->header).next" (parenthesized_expression "(local_9c->header)" ( (field_expression "local_9c->header" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "local_34._0_4_ = again;" (assignment_expression "local_34._0_4_ = again" (field_expression "local_34._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_34._4_4_ = local_20;" (assignment_expression "local_34._4_4_ = local_20" (field_expression "local_34._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if ((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))) {\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }" if (parenthesized_expression "((output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour))))" ( (binary_expression "(output_section_statement->sectype != noalloc_section) &&\n           ((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))" (parenthesized_expression "(output_section_statement->sectype != noalloc_section)" ( (binary_expression "output_section_statement->sectype != noalloc_section" (field_expression "output_section_statement->sectype" identifier -> field_identifier) != identifier) )) && (parenthesized_expression "((output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)))" ( (parenthesized_expression "(output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour))" ( (binary_expression "output_section_statement->sectype != noload_section ||\n            ((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)" (binary_expression "output_section_statement->sectype != noload_section" (field_expression "output_section_statement->sectype" identifier -> field_identifier) != identifier) || (parenthesized_expression "((link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour)" ( (binary_expression "(link_info.output_bfd)->xvec->flavour == bfd_target_elf_flavour" (field_expression "(link_info.output_bfd)->xvec->flavour" (field_expression "(link_info.output_bfd)->xvec" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) -> field_identifier) == identifier) ))) )) ))) )) (compound_statement "{\n          pfVar2 = &output_section_statement->bfd_section->flags;\n          *pfVar2 = *pfVar2 | 1;\n        }" { (expression_statement "pfVar2 = &output_section_statement->bfd_section->flags;" (assignment_expression "pfVar2 = &output_section_statement->bfd_section->flags" identifier = (pointer_expression "&output_section_statement->bfd_section->flags" & (field_expression "output_section_statement->bfd_section->flags" (field_expression "output_section_statement->bfd_section" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "*pfVar2 = *pfVar2 | 1;" (assignment_expression "*pfVar2 = *pfVar2 | 1" (pointer_expression "*pfVar2" * identifier) = (binary_expression "*pfVar2 | 1" (pointer_expression "*pfVar2" * identifier) | number_literal)) ;) })) })))) })) (break_statement "break;" break ;)) (case_statement "case lang_input_statement_enum:" case identifier :) (case_statement "case lang_address_statement_enum:" case identifier :) (case_statement "case lang_target_statement_enum:" case identifier :) (case_statement "case lang_output_statement_enum:" case identifier :) (case_statement "case lang_insert_statement_enum:\n    goto _L1385;" case identifier : (goto_statement "goto _L1385;" goto statement_identifier ;)) (case_statement "case lang_wild_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp;\n    goto LAB_00022351;" case identifier : (expression_statement "prev_00 = (lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp;" (assignment_expression "prev_00 = (lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp" identifier = (cast_expression "(lang_statement_list_type *)&(local_9c->reloc_statement).addend_exp" ( (type_descriptor "lang_statement_list_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_9c->reloc_statement).addend_exp" & (field_expression "(local_9c->reloc_statement).addend_exp" (parenthesized_expression "(local_9c->reloc_statement)" ( (field_expression "local_9c->reloc_statement" identifier -> field_identifier) )) . field_identifier)))) ;) (goto_statement "goto LAB_00022351;" goto statement_identifier ;)) (case_statement "case lang_input_section_enum:\n    if (relax != (bfd_boolean *)0x0) {\n      pbVar3 = ((local_9c->input_section).section)->owner;\n      bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again);\n      if (bVar18 == 0) {\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }\n      if (again != 0) {\n        *relax = 1;\n      }\n    }\n    paVar26 = (((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section).section;\n    output_section = output_section_statement->bfd_section;\n    if ((*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200) {\n      uVar15 = (uint)paVar26->vma;\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;\n    }\n    else if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))\n    {\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }\n    else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }\n    break;" case identifier : (if_statement "if (relax != (bfd_boolean *)0x0) {\n      pbVar3 = ((local_9c->input_section).section)->owner;\n      bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again);\n      if (bVar18 == 0) {\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }\n      if (again != 0) {\n        *relax = 1;\n      }\n    }" if (parenthesized_expression "(relax != (bfd_boolean *)0x0)" ( (binary_expression "relax != (bfd_boolean *)0x0" identifier != (cast_expression "(bfd_boolean *)0x0" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pbVar3 = ((local_9c->input_section).section)->owner;\n      bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again);\n      if (bVar18 == 0) {\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }\n      if (again != 0) {\n        *relax = 1;\n      }\n    }" { (expression_statement "pbVar3 = ((local_9c->input_section).section)->owner;" (assignment_expression "pbVar3 = ((local_9c->input_section).section)->owner" identifier = (field_expression "((local_9c->input_section).section)->owner" (parenthesized_expression "((local_9c->input_section).section)" ( (field_expression "(local_9c->input_section).section" (parenthesized_expression "(local_9c->input_section)" ( (field_expression "local_9c->input_section" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) ;) (expression_statement "bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again);" (assignment_expression "bVar18 = (*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again)" identifier = (call_expression "(*pbVar3->xvec->_bfd_relax_section)\n                         (pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again)" (parenthesized_expression "(*pbVar3->xvec->_bfd_relax_section)" ( (pointer_expression "*pbVar3->xvec->_bfd_relax_section" * (field_expression "pbVar3->xvec->_bfd_relax_section" (field_expression "pbVar3->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar3,(local_9c->input_section).section,\n                          (bfd_link_info *)PTR_link_info_00092fa8,&again)" ( identifier , (field_expression "(local_9c->input_section).section" (parenthesized_expression "(local_9c->input_section)" ( (field_expression "local_9c->input_section" identifier -> field_identifier) )) . field_identifier) , (cast_expression "(bfd_link_info *)PTR_link_info_00092fa8" ( (type_descriptor "bfd_link_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&again" & identifier) )))) ;) (if_statement "if (bVar18 == 0) {\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }" if (parenthesized_expression "(bVar18 == 0)" ( (binary_expression "bVar18 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        einfo(pcVar19);\n      }" { (expression_statement "pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: can\'t relax section: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: can\'t relax section: %E\n",5)" identifier (argument_list "(0,"%F%P: can\'t relax section: %E\n",5)" ( number_literal , (string_literal ""%F%P: can\'t relax section: %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar19);" (call_expression "einfo(pcVar19)" identifier (argument_list "(pcVar19)" ( identifier ))) ;) })) (if_statement "if (again != 0) {\n        *relax = 1;\n      }" if (parenthesized_expression "(again != 0)" ( (binary_expression "again != 0" identifier != number_literal) )) (compound_statement "{\n        *relax = 1;\n      }" { (expression_statement "*relax = 1;" (assignment_expression "*relax = 1" (pointer_expression "*relax" * identifier) = number_literal) ;) })) })) (expression_statement "paVar26 = (((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section).section;" (assignment_expression "paVar26 = (((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section).section" identifier = (field_expression "(((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section).section" (parenthesized_expression "(((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section)" ( (field_expression "((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next->\n              input_section" (field_expression "((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)->next" (parenthesized_expression "((lang_statement_header_type *)&((lang_statement_header_type *)prev)->next)" ( (cast_expression "(lang_statement_header_type *)&((lang_statement_header_type *)prev)->next" ( (type_descriptor "lang_statement_header_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((lang_statement_header_type *)prev)->next" & (field_expression "((lang_statement_header_type *)prev)->next" (parenthesized_expression "((lang_statement_header_type *)prev)" ( (cast_expression "(lang_statement_header_type *)prev" ( (type_descriptor "lang_statement_header_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) )) -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "output_section = output_section_statement->bfd_section;" (assignment_expression "output_section = output_section_statement->bfd_section" identifier = (field_expression "output_section_statement->bfd_section" identifier -> field_identifier)) ;) (if_statement "if ((*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200) {\n      uVar15 = (uint)paVar26->vma;\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;\n    }\n    else if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))\n    {\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }\n    else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }" if (parenthesized_expression "((*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200)" ( (binary_expression "(*(ushort *)&paVar26->field_0x18 & 0x380) == 0x200" (parenthesized_expression "(*(ushort *)&paVar26->field_0x18 & 0x380)" ( (binary_expression "*(ushort *)&paVar26->field_0x18 & 0x380" (pointer_expression "*(ushort *)&paVar26->field_0x18" * (cast_expression "(ushort *)&paVar26->field_0x18" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar26->field_0x18" & (field_expression "paVar26->field_0x18" identifier -> field_identifier)))) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar15 = (uint)paVar26->vma;\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;\n    }" { (expression_statement "uVar15 = (uint)paVar26->vma;" (assignment_expression "uVar15 = (uint)paVar26->vma" identifier = (cast_expression "(uint)paVar26->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar26->vma" identifier -> field_identifier))) ;) (expression_statement "bVar36 = output_section->vma;" (assignment_expression "bVar36 = output_section->vma" identifier = (field_expression "output_section->vma" identifier -> field_identifier)) ;) (expression_statement "*(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma);" (assignment_expression "*(uint *)((int)&paVar26->output_offset + 4) =\n           (*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma)" (pointer_expression "*(uint *)((int)&paVar26->output_offset + 4)" * (cast_expression "(uint *)((int)&paVar26->output_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->output_offset + 4)" ( (binary_expression "(int)&paVar26->output_offset + 4" (cast_expression "(int)&paVar26->output_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->output_offset" & (field_expression "paVar26->output_offset" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)) -\n           (uint)(uVar15 < (uint)output_section->vma)" (parenthesized_expression "(*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4))" ( (binary_expression "*(int *)((int)&paVar26->vma + 4) - *(int *)((int)&output_section->vma + 4)" (pointer_expression "*(int *)((int)&paVar26->vma + 4)" * (cast_expression "(int *)((int)&paVar26->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->vma + 4)" ( (binary_expression "(int)&paVar26->vma + 4" (cast_expression "(int)&paVar26->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->vma" & (field_expression "paVar26->vma" identifier -> field_identifier))) + number_literal) )))) - (pointer_expression "*(int *)((int)&output_section->vma + 4)" * (cast_expression "(int *)((int)&output_section->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section->vma + 4)" ( (binary_expression "(int)&output_section->vma + 4" (cast_expression "(int)&output_section->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section->vma" & (field_expression "output_section->vma" identifier -> field_identifier))) + number_literal) ))))) )) - (call_expression "(uint)(uVar15 < (uint)output_section->vma)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 < (uint)output_section->vma)" ( (binary_expression "uVar15 < (uint)output_section->vma" identifier < (cast_expression "(uint)output_section->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "output_section->vma" identifier -> field_identifier))) ))))) ;) (expression_statement "*(uint *)&paVar26->output_offset = uVar15 - (int)bVar36;" (assignment_expression "*(uint *)&paVar26->output_offset = uVar15 - (int)bVar36" (pointer_expression "*(uint *)&paVar26->output_offset" * (cast_expression "(uint *)&paVar26->output_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar26->output_offset" & (field_expression "paVar26->output_offset" identifier -> field_identifier)))) = (binary_expression "uVar15 - (int)bVar36" identifier - (cast_expression "(int)bVar36" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))\n    {\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }\n    else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }" else (if_statement "if (((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))\n    {\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }\n    else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }" if (parenthesized_expression "(((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0))" ( (binary_expression "((paVar26->flags & 0x8000) == 0) && ((output_section_statement->field_0x54 & 8) == 0)" (parenthesized_expression "((paVar26->flags & 0x8000) == 0)" ( (binary_expression "(paVar26->flags & 0x8000) == 0" (parenthesized_expression "(paVar26->flags & 0x8000)" ( (binary_expression "paVar26->flags & 0x8000" (field_expression "paVar26->flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((output_section_statement->field_0x54 & 8) == 0)" ( (binary_expression "(output_section_statement->field_0x54 & 8) == 0" (parenthesized_expression "(output_section_statement->field_0x54 & 8)" ( (binary_expression "output_section_statement->field_0x54 & 8" (field_expression "output_section_statement->field_0x54" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      uVar15 = output_section_statement->subsection_alignment;\n      if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }\n      if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }\n      bVar23 = (byte)uVar15 & 0x1f;\n      uVar17 = 1 << ((byte)uVar15 & 0x1f);\n      uVar14 = uVar17;\n      uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;\n      if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }\n      uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;\n      uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);\n      uVar14 = uVar17 - (uint)local_34;\n      iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);\n      uVar15 = (uint)local_34;\n      if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }\n      uVar17 = opb_shift;\n      uVar14 = (uint)output_section->vma;\n      iVar13 = *(int *)((int)&output_section->vma + 4);\n      local_7c._0_1_ = (byte)opb_shift;\n      *(uint *)&paVar26->output_offset = uVar15 - uVar14;\n      bVar9 = paVar26->size;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);\n      uVar16 = *(uint *)((int)&paVar26->size + 4);\n      uVar24 = uVar16 >> ((byte)local_7c & 0x1f);\n      uVar25 = uVar24;\n      uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);\n      if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }\n      local_34._0_4_ = uVar15 + uVar16;\n      local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);\n      if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }\n    }" { (expression_statement "uVar15 = output_section_statement->subsection_alignment;" (assignment_expression "uVar15 = output_section_statement->subsection_alignment" identifier = (field_expression "output_section_statement->subsection_alignment" identifier -> field_identifier)) ;) (if_statement "if (uVar15 == 0xffffffff) {\n        uVar15 = paVar26->alignment_power;\n      }\n      else {\n        paVar26->alignment_power = uVar15;\n      }" if (parenthesized_expression "(uVar15 == 0xffffffff)" ( (binary_expression "uVar15 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar15 = paVar26->alignment_power;\n      }" { (expression_statement "uVar15 = paVar26->alignment_power;" (assignment_expression "uVar15 = paVar26->alignment_power" identifier = (field_expression "paVar26->alignment_power" identifier -> field_identifier)) ;) }) (else_clause "else {\n        paVar26->alignment_power = uVar15;\n      }" else (compound_statement "{\n        paVar26->alignment_power = uVar15;\n      }" { (expression_statement "paVar26->alignment_power = uVar15;" (assignment_expression "paVar26->alignment_power = uVar15" (field_expression "paVar26->alignment_power" identifier -> field_identifier) = identifier) ;) }))) (if_statement "if (output_section->alignment_power < uVar15) {\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }" if (parenthesized_expression "(output_section->alignment_power < uVar15)" ( (binary_expression "output_section->alignment_power < uVar15" (field_expression "output_section->alignment_power" identifier -> field_identifier) < identifier) )) (compound_statement "{\n        output_section->alignment_power = uVar15;\n        uVar15 = paVar26->alignment_power;\n      }" { (expression_statement "output_section->alignment_power = uVar15;" (assignment_expression "output_section->alignment_power = uVar15" (field_expression "output_section->alignment_power" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar15 = paVar26->alignment_power;" (assignment_expression "uVar15 = paVar26->alignment_power" identifier = (field_expression "paVar26->alignment_power" identifier -> field_identifier)) ;) })) (expression_statement "bVar23 = (byte)uVar15 & 0x1f;" (assignment_expression "bVar23 = (byte)uVar15 & 0x1f" identifier = (binary_expression "(byte)uVar15 & 0x1f" (cast_expression "(byte)uVar15" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar17 = 1 << ((byte)uVar15 & 0x1f);" (assignment_expression "uVar17 = 1 << ((byte)uVar15 & 0x1f)" identifier = (binary_expression "1 << ((byte)uVar15 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar15 & 0x1f)" ( (binary_expression "(byte)uVar15 & 0x1f" (cast_expression "(byte)uVar15" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar14 = uVar17;" (assignment_expression "uVar14 = uVar17" identifier = identifier) ;) (expression_statement "uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23;" (assignment_expression "uVar16 = 0 << bVar23 | 1U >> 0x20 - bVar23" identifier = (binary_expression "0 << bVar23 | 1U >> 0x20 - bVar23" (binary_expression "0 << bVar23" number_literal << identifier) | (binary_expression "1U >> 0x20 - bVar23" number_literal >> (binary_expression "0x20 - bVar23" number_literal - identifier)))) ;) (if_statement "if ((uVar15 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }" if (parenthesized_expression "((uVar15 & 0x20) != 0)" ( (binary_expression "(uVar15 & 0x20) != 0" (parenthesized_expression "(uVar15 & 0x20)" ( (binary_expression "uVar15 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar14 = 0;\n        uVar16 = uVar17;\n      }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) })) (expression_statement "uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14;" (assignment_expression "uVar17 = ((uint)local_34 - 1) + uVar14 & -uVar14" identifier = (binary_expression "((uint)local_34 - 1) + uVar14 & -uVar14" (binary_expression "((uint)local_34 - 1) + uVar14" (parenthesized_expression "((uint)local_34 - 1)" ( (binary_expression "(uint)local_34 - 1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - number_literal) )) + identifier) & (unary_expression "-uVar14" - identifier))) ;) (expression_statement "uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14);" (assignment_expression "uVar16 = -(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14)" identifier = (binary_expression "-(uVar16 + (uVar14 != 0)) &\n               (local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14)" (unary_expression "-(uVar16 + (uVar14 != 0))" - (parenthesized_expression "(uVar16 + (uVar14 != 0))" ( (binary_expression "uVar16 + (uVar14 != 0)" identifier + (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) ))) ))) & (binary_expression "(local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16 +\n               (uint)CARRY4((uint)local_34 - 1,uVar14)" (binary_expression "(local_34._4_4_ - 1) + (uint)((uint)local_34 != 0) + uVar16" (binary_expression "(local_34._4_4_ - 1) + (uint)((uint)local_34 != 0)" (parenthesized_expression "(local_34._4_4_ - 1)" ( (binary_expression "local_34._4_4_ - 1" (field_expression "local_34._4_4_" identifier . field_identifier) - number_literal) )) + (call_expression "(uint)((uint)local_34 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 != 0)" ( (binary_expression "(uint)local_34 != 0" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) != number_literal) )))) + identifier) + (cast_expression "(uint)CARRY4((uint)local_34 - 1,uVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_34 - 1,uVar14)" identifier (argument_list "((uint)local_34 - 1,uVar14)" ( (binary_expression "(uint)local_34 - 1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - number_literal) , identifier ))))))) ;) (expression_statement "uVar14 = uVar17 - (uint)local_34;" (assignment_expression "uVar14 = uVar17 - (uint)local_34" identifier = (binary_expression "uVar17 - (uint)local_34" identifier - (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34);" (assignment_expression "iVar13 = (uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34)" identifier = (binary_expression "(uVar16 - local_34._4_4_) - (uint)(uVar17 < (uint)local_34)" (parenthesized_expression "(uVar16 - local_34._4_4_)" ( (binary_expression "uVar16 - local_34._4_4_" identifier - (field_expression "local_34._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)(uVar17 < (uint)local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < (uint)local_34)" ( (binary_expression "uVar17 < (uint)local_34" identifier < (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) ;) (expression_statement "uVar15 = (uint)local_34;" (assignment_expression "uVar15 = (uint)local_34" identifier = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (iVar13 != 0 || uVar14 != 0) {\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }" if (parenthesized_expression "(iVar13 != 0 || uVar14 != 0)" ( (binary_expression "iVar13 != 0 || uVar14 != 0" (binary_expression "iVar13 != 0" identifier != number_literal) || (binary_expression "uVar14 != 0" identifier != number_literal)) )) (compound_statement "{\n        local_7c._0_1_ = (byte)opb_shift;\n        uVar24 = uVar14 << ((byte)local_7c & 0x1f);\n        uVar25 = uVar24;\n        uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);\n        if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }\n        insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);\n        uVar15 = uVar17;\n        local_34._4_4_ = uVar16;\n      }" { (expression_statement "local_7c._0_1_ = (byte)opb_shift;" (assignment_expression "local_7c._0_1_ = (byte)opb_shift" (field_expression "local_7c._0_1_" identifier . field_identifier) = (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar24 = uVar14 << ((byte)local_7c & 0x1f);" (assignment_expression "uVar24 = uVar14 << ((byte)local_7c & 0x1f)" identifier = (binary_expression "uVar14 << ((byte)local_7c & 0x1f)" identifier << (parenthesized_expression "((byte)local_7c & 0x1f)" ( (binary_expression "(byte)local_7c & 0x1f" (cast_expression "(byte)local_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar25 = uVar24;" (assignment_expression "uVar25 = uVar24" identifier = identifier) ;) (expression_statement "uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f);" (assignment_expression "uVar15 = iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f)" identifier = (binary_expression "iVar13 << ((byte)local_7c & 0x1f) | uVar14 >> 0x20 - ((byte)local_7c & 0x1f)" (binary_expression "iVar13 << ((byte)local_7c & 0x1f)" identifier << (parenthesized_expression "((byte)local_7c & 0x1f)" ( (binary_expression "(byte)local_7c & 0x1f" (cast_expression "(byte)local_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "uVar14 >> 0x20 - ((byte)local_7c & 0x1f)" identifier >> (binary_expression "0x20 - ((byte)local_7c & 0x1f)" number_literal - (parenthesized_expression "((byte)local_7c & 0x1f)" ( (binary_expression "(byte)local_7c & 0x1f" (cast_expression "(byte)local_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((opb_shift & 0x20) != 0) {\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }" if (parenthesized_expression "((opb_shift & 0x20) != 0)" ( (binary_expression "(opb_shift & 0x20) != 0" (parenthesized_expression "(opb_shift & 0x20)" ( (binary_expression "opb_shift & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar25 = 0;\n          uVar15 = uVar24;\n        }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = uVar24;" (assignment_expression "uVar15 = uVar24" identifier = identifier) ;) })) (expression_statement "insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34);" (call_expression "insert_pad(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34)" identifier (argument_list "(prev,local_8c,CONCAT44(uVar15,uVar25),output_section,local_34)" ( identifier , identifier , (call_expression "CONCAT44(uVar15,uVar25)" identifier (argument_list "(uVar15,uVar25)" ( identifier , identifier ))) , identifier , identifier ))) ;) (expression_statement "uVar15 = uVar17;" (assignment_expression "uVar15 = uVar17" identifier = identifier) ;) (expression_statement "local_34._4_4_ = uVar16;" (assignment_expression "local_34._4_4_ = uVar16" (field_expression "local_34._4_4_" identifier . field_identifier) = identifier) ;) })) (expression_statement "uVar17 = opb_shift;" (assignment_expression "uVar17 = opb_shift" identifier = identifier) ;) (expression_statement "uVar14 = (uint)output_section->vma;" (assignment_expression "uVar14 = (uint)output_section->vma" identifier = (cast_expression "(uint)output_section->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "output_section->vma" identifier -> field_identifier))) ;) (expression_statement "iVar13 = *(int *)((int)&output_section->vma + 4);" (assignment_expression "iVar13 = *(int *)((int)&output_section->vma + 4)" identifier = (pointer_expression "*(int *)((int)&output_section->vma + 4)" * (cast_expression "(int *)((int)&output_section->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section->vma + 4)" ( (binary_expression "(int)&output_section->vma + 4" (cast_expression "(int)&output_section->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section->vma" & (field_expression "output_section->vma" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "local_7c._0_1_ = (byte)opb_shift;" (assignment_expression "local_7c._0_1_ = (byte)opb_shift" (field_expression "local_7c._0_1_" identifier . field_identifier) = (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(uint *)&paVar26->output_offset = uVar15 - uVar14;" (assignment_expression "*(uint *)&paVar26->output_offset = uVar15 - uVar14" (pointer_expression "*(uint *)&paVar26->output_offset" * (cast_expression "(uint *)&paVar26->output_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar26->output_offset" & (field_expression "paVar26->output_offset" identifier -> field_identifier)))) = (binary_expression "uVar15 - uVar14" identifier - identifier)) ;) (expression_statement "bVar9 = paVar26->size;" (assignment_expression "bVar9 = paVar26->size" identifier = (field_expression "paVar26->size" identifier -> field_identifier)) ;) (expression_statement "*(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14);" (assignment_expression "*(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14)" (pointer_expression "*(uint *)((int)&paVar26->output_offset + 4)" * (cast_expression "(uint *)((int)&paVar26->output_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->output_offset + 4)" ( (binary_expression "(int)&paVar26->output_offset + 4" (cast_expression "(int)&paVar26->output_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->output_offset" & (field_expression "paVar26->output_offset" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(local_34._4_4_ - iVar13) - (uint)(uVar15 < uVar14)" (parenthesized_expression "(local_34._4_4_ - iVar13)" ( (binary_expression "local_34._4_4_ - iVar13" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier) )) - (call_expression "(uint)(uVar15 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 < uVar14)" ( (binary_expression "uVar15 < uVar14" identifier < identifier) ))))) ;) (expression_statement "uVar16 = *(uint *)((int)&paVar26->size + 4);" (assignment_expression "uVar16 = *(uint *)((int)&paVar26->size + 4)" identifier = (pointer_expression "*(uint *)((int)&paVar26->size + 4)" * (cast_expression "(uint *)((int)&paVar26->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->size + 4)" ( (binary_expression "(int)&paVar26->size + 4" (cast_expression "(int)&paVar26->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->size" & (field_expression "paVar26->size" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar24 = uVar16 >> ((byte)local_7c & 0x1f);" (assignment_expression "uVar24 = uVar16 >> ((byte)local_7c & 0x1f)" identifier = (binary_expression "uVar16 >> ((byte)local_7c & 0x1f)" identifier >> (parenthesized_expression "((byte)local_7c & 0x1f)" ( (binary_expression "(byte)local_7c & 0x1f" (cast_expression "(byte)local_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar25 = uVar24;" (assignment_expression "uVar25 = uVar24" identifier = identifier) ;) (expression_statement "uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f);" (assignment_expression "uVar16 = (uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f)" identifier = (binary_expression "(uint)bVar9 >> ((byte)local_7c & 0x1f) | uVar16 << 0x20 - ((byte)local_7c & 0x1f)" (binary_expression "(uint)bVar9 >> ((byte)local_7c & 0x1f)" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "((byte)local_7c & 0x1f)" ( (binary_expression "(byte)local_7c & 0x1f" (cast_expression "(byte)local_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "uVar16 << 0x20 - ((byte)local_7c & 0x1f)" identifier << (binary_expression "0x20 - ((byte)local_7c & 0x1f)" number_literal - (parenthesized_expression "((byte)local_7c & 0x1f)" ( (binary_expression "(byte)local_7c & 0x1f" (cast_expression "(byte)local_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((uVar17 & 0x20) != 0) {\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }" if (parenthesized_expression "((uVar17 & 0x20) != 0)" ( (binary_expression "(uVar17 & 0x20) != 0" (parenthesized_expression "(uVar17 & 0x20)" ( (binary_expression "uVar17 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar25 = 0;\n        uVar16 = uVar24;\n      }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = uVar24;" (assignment_expression "uVar16 = uVar24" identifier = identifier) ;) })) (expression_statement "local_34._0_4_ = uVar15 + uVar16;" (assignment_expression "local_34._0_4_ = uVar15 + uVar16" (field_expression "local_34._0_4_" identifier . field_identifier) = (binary_expression "uVar15 + uVar16" identifier + identifier)) ;) (expression_statement "local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16);" (assignment_expression "local_34._4_4_ = local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16)" (field_expression "local_34._4_4_" identifier . field_identifier) = (binary_expression "local_34._4_4_ + uVar25 + (uint)CARRY4(uVar15,uVar16)" (binary_expression "local_34._4_4_ + uVar25" (field_expression "local_34._4_4_" identifier . field_identifier) + identifier) + (cast_expression "(uint)CARRY4(uVar15,uVar16)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar15,uVar16)" identifier (argument_list "(uVar15,uVar16)" ( identifier , identifier )))))) ;) (if_statement "if ((output_section->flags & 0x800) == 0) {\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }" if (parenthesized_expression "((output_section->flags & 0x800) == 0)" ( (binary_expression "(output_section->flags & 0x800) == 0" (parenthesized_expression "(output_section->flags & 0x800)" ( (binary_expression "output_section->flags & 0x800" (field_expression "output_section->flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);\n        uVar16 = uVar25;\n        uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;\n        if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }\n        *(uint *)((int)&output_section->size + 4) = uVar15;\n        *(uint *)&output_section->size = uVar16;\n      }" { (expression_statement "uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f);" (assignment_expression "uVar25 = (uint)local_34 - uVar14 << ((byte)local_7c & 0x1f)" identifier = (binary_expression "(uint)local_34 - uVar14 << ((byte)local_7c & 0x1f)" (binary_expression "(uint)local_34 - uVar14" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - identifier) << (parenthesized_expression "((byte)local_7c & 0x1f)" ( (binary_expression "(byte)local_7c & 0x1f" (cast_expression "(byte)local_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar16 = uVar25;" (assignment_expression "uVar16 = uVar25" identifier = identifier) ;) (expression_statement "uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)\n        ;" (assignment_expression "uVar15 = (local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)" identifier = (binary_expression "(local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f) | (uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)" (binary_expression "(local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14) <<\n                 ((byte)local_7c & 0x1f)" (binary_expression "(local_34._4_4_ - iVar13) - (uint)((uint)local_34 < uVar14)" (parenthesized_expression "(local_34._4_4_ - iVar13)" ( (binary_expression "local_34._4_4_ - iVar13" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier) )) - (call_expression "(uint)((uint)local_34 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < uVar14)" ( (binary_expression "(uint)local_34 < uVar14" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )))) << (parenthesized_expression "((byte)local_7c & 0x1f)" ( (binary_expression "(byte)local_7c & 0x1f" (cast_expression "(byte)local_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "(uint)local_34 - uVar14 >> 0x20 - ((byte)local_7c & 0x1f)" (binary_expression "(uint)local_34 - uVar14" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - identifier) >> (binary_expression "0x20 - ((byte)local_7c & 0x1f)" number_literal - (parenthesized_expression "((byte)local_7c & 0x1f)" ( (binary_expression "(byte)local_7c & 0x1f" (cast_expression "(byte)local_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((uVar17 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }" if (parenthesized_expression "((uVar17 & 0x20) != 0)" ( (binary_expression "(uVar17 & 0x20) != 0" (parenthesized_expression "(uVar17 & 0x20)" ( (binary_expression "uVar17 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar16 = 0;\n          uVar15 = uVar25;\n        }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = uVar25;" (assignment_expression "uVar15 = uVar25" identifier = identifier) ;) })) (expression_statement "*(uint *)((int)&output_section->size + 4) = uVar15;" (assignment_expression "*(uint *)((int)&output_section->size + 4) = uVar15" (pointer_expression "*(uint *)((int)&output_section->size + 4)" * (cast_expression "(uint *)((int)&output_section->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section->size + 4)" ( (binary_expression "(int)&output_section->size + 4" (cast_expression "(int)&output_section->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section->size" & (field_expression "output_section->size" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)&output_section->size = uVar16;" (assignment_expression "*(uint *)&output_section->size = uVar16" (pointer_expression "*(uint *)&output_section->size" * (cast_expression "(uint *)&output_section->size" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&output_section->size" & (field_expression "output_section->size" identifier -> field_identifier)))) = identifier) ;) })) }) (else_clause "else {\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }" else (compound_statement "{\n      bVar36 = output_section->vma;\n      *(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);\n      *(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;\n    }" { (expression_statement "bVar36 = output_section->vma;" (assignment_expression "bVar36 = output_section->vma" identifier = (field_expression "output_section->vma" identifier -> field_identifier)) ;) (expression_statement "*(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma);" (assignment_expression "*(uint *)((int)&paVar26->output_offset + 4) =\n           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma)" (pointer_expression "*(uint *)((int)&paVar26->output_offset + 4)" * (cast_expression "(uint *)((int)&paVar26->output_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->output_offset + 4)" ( (binary_expression "(int)&paVar26->output_offset + 4" (cast_expression "(int)&paVar26->output_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->output_offset" & (field_expression "paVar26->output_offset" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -\n           (uint)((uint)local_34 < (uint)output_section->vma)" (parenthesized_expression "(local_34._4_4_ - *(int *)((int)&output_section->vma + 4))" ( (binary_expression "local_34._4_4_ - *(int *)((int)&output_section->vma + 4)" (field_expression "local_34._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)((int)&output_section->vma + 4)" * (cast_expression "(int *)((int)&output_section->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section->vma + 4)" ( (binary_expression "(int)&output_section->vma + 4" (cast_expression "(int)&output_section->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section->vma" & (field_expression "output_section->vma" identifier -> field_identifier))) + number_literal) ))))) )) - (call_expression "(uint)((uint)local_34 < (uint)output_section->vma)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < (uint)output_section->vma)" ( (binary_expression "(uint)local_34 < (uint)output_section->vma" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)output_section->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "output_section->vma" identifier -> field_identifier))) ))))) ;) (expression_statement "*(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36;" (assignment_expression "*(uint *)&paVar26->output_offset = (uint)local_34 - (int)bVar36" (pointer_expression "*(uint *)&paVar26->output_offset" * (cast_expression "(uint *)&paVar26->output_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar26->output_offset" & (field_expression "paVar26->output_offset" identifier -> field_identifier)))) = (binary_expression "(uint)local_34 - (int)bVar36" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(int)bVar36" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))))) (break_statement "break;" break ;)) (case_statement "case lang_object_symbols_statement_enum:\n    link_info.create_object_symbols_section = output_section_statement->bfd_section;\n    goto _L1385;" case identifier : (expression_statement "link_info.create_object_symbols_section = output_section_statement->bfd_section;" (assignment_expression "link_info.create_object_symbols_section = output_section_statement->bfd_section" (field_expression "link_info.create_object_symbols_section" identifier . field_identifier) = (field_expression "output_section_statement->bfd_section" identifier -> field_identifier)) ;) (goto_statement "goto _L1385;" goto statement_identifier ;)) (case_statement "case lang_fill_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)output_section_statement->bfd_section\n    ;\n    local_8c = (local_9c->fill_statement).fill;\n    break;" case identifier : (expression_statement "(local_9c->wild_statement).section_list = (wildcard_list *)output_section_statement->bfd_section\n    ;" (assignment_expression "(local_9c->wild_statement).section_list = (wildcard_list *)output_section_statement->bfd_section" (field_expression "(local_9c->wild_statement).section_list" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(wildcard_list *)output_section_statement->bfd_section" ( (type_descriptor "wildcard_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "output_section_statement->bfd_section" identifier -> field_identifier))) ;) (expression_statement "local_8c = (local_9c->fill_statement).fill;" (assignment_expression "local_8c = (local_9c->fill_statement).fill" identifier = (field_expression "(local_9c->fill_statement).fill" (parenthesized_expression "(local_9c->fill_statement)" ( (field_expression "local_9c->fill_statement" identifier -> field_identifier) )) . field_identifier)) ;) (break_statement "break;" break ;)) (case_statement "case lang_data_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    iVar13 = *(int *)((int)&output_section_statement->bfd_section->vma + 4);\n    (local_9c->wild_statement).children.tail =\n         (lang_statement_union **)((uint)local_34 - (int)*pbVar1);\n    (local_9c->wild_statement).exclude_name_list =\n         (name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36));\n    (local_9c->wild_statement).children.head =\n         (lang_statement_union *)output_section_statement->bfd_section;\n    exp_fold_tree((local_9c->data_statement).exp,current_section,&local_34);\n    uVar15 = (local_9c->data_statement).type - 0x11a;\n    if (4 < uVar15) {\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");\n    }\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = 1 << (bVar22 & 0x1f);\n    if (uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4)) {\n      uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);\n    }\n    uVar14 = uVar14 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = local_34._4_4_ + CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\n    goto joined_r0x00022089;" case identifier : (expression_statement "pbVar1 = &output_section_statement->bfd_section->vma;" (assignment_expression "pbVar1 = &output_section_statement->bfd_section->vma" identifier = (pointer_expression "&output_section_statement->bfd_section->vma" & (field_expression "output_section_statement->bfd_section->vma" (field_expression "output_section_statement->bfd_section" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "bVar36 = *pbVar1;" (assignment_expression "bVar36 = *pbVar1" identifier = (pointer_expression "*pbVar1" * identifier)) ;) (expression_statement "iVar13 = *(int *)((int)&output_section_statement->bfd_section->vma + 4);" (assignment_expression "iVar13 = *(int *)((int)&output_section_statement->bfd_section->vma + 4)" identifier = (pointer_expression "*(int *)((int)&output_section_statement->bfd_section->vma + 4)" * (cast_expression "(int *)((int)&output_section_statement->bfd_section->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section_statement->bfd_section->vma + 4)" ( (binary_expression "(int)&output_section_statement->bfd_section->vma + 4" (cast_expression "(int)&output_section_statement->bfd_section->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section_statement->bfd_section->vma" & (field_expression "output_section_statement->bfd_section->vma" (field_expression "output_section_statement->bfd_section" identifier -> field_identifier) -> field_identifier))) + number_literal) ))))) ;) (expression_statement "(local_9c->wild_statement).children.tail =\n         (lang_statement_union **)((uint)local_34 - (int)*pbVar1);" (assignment_expression "(local_9c->wild_statement).children.tail =\n         (lang_statement_union **)((uint)local_34 - (int)*pbVar1)" (field_expression "(local_9c->wild_statement).children.tail" (field_expression "(local_9c->wild_statement).children" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(lang_statement_union **)((uint)local_34 - (int)*pbVar1)" ( (type_descriptor "lang_statement_union **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)local_34 - (int)*pbVar1)" ( (binary_expression "(uint)local_34 - (int)*pbVar1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(int)*pbVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pbVar1" * identifier))) )))) ;) (expression_statement "(local_9c->wild_statement).exclude_name_list =\n         (name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36));" (assignment_expression "(local_9c->wild_statement).exclude_name_list =\n         (name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36))" (field_expression "(local_9c->wild_statement).exclude_name_list" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(name_list *)((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36))" ( (type_descriptor "name_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36))" ( (binary_expression "(local_34._4_4_ - iVar13) - (uint)((uint)local_34 < (uint)bVar36)" (parenthesized_expression "(local_34._4_4_ - iVar13)" ( (binary_expression "local_34._4_4_ - iVar13" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier) )) - (call_expression "(uint)((uint)local_34 < (uint)bVar36)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < (uint)bVar36)" ( (binary_expression "(uint)local_34 < (uint)bVar36" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)bVar36" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) )))) ;) (expression_statement "(local_9c->wild_statement).children.head =\n         (lang_statement_union *)output_section_statement->bfd_section;" (assignment_expression "(local_9c->wild_statement).children.head =\n         (lang_statement_union *)output_section_statement->bfd_section" (field_expression "(local_9c->wild_statement).children.head" (field_expression "(local_9c->wild_statement).children" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(lang_statement_union *)output_section_statement->bfd_section" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "output_section_statement->bfd_section" identifier -> field_identifier))) ;) (expression_statement "exp_fold_tree((local_9c->data_statement).exp,current_section,&local_34);" (call_expression "exp_fold_tree((local_9c->data_statement).exp,current_section,&local_34)" identifier (argument_list "((local_9c->data_statement).exp,current_section,&local_34)" ( (field_expression "(local_9c->data_statement).exp" (parenthesized_expression "(local_9c->data_statement)" ( (field_expression "local_9c->data_statement" identifier -> field_identifier) )) . field_identifier) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "uVar15 = (local_9c->data_statement).type - 0x11a;" (assignment_expression "uVar15 = (local_9c->data_statement).type - 0x11a" identifier = (binary_expression "(local_9c->data_statement).type - 0x11a" (field_expression "(local_9c->data_statement).type" (parenthesized_expression "(local_9c->data_statement)" ( (field_expression "local_9c->data_statement" identifier -> field_identifier) )) . field_identifier) - number_literal)) ;) (if_statement "if (4 < uVar15) {\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");\n    }" if (parenthesized_expression "(4 < uVar15)" ( (binary_expression "4 < uVar15" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");\n    }" { comment (expression_statement "ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");" (call_expression "ld_abort("../../ld/ldlang.c",0x14f8,"lang_size_sections_1")" identifier (argument_list "("../../ld/ldlang.c",0x14f8,"lang_size_sections_1")" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal , (string_literal ""lang_size_sections_1"" " string_content ") ))) ;) })) (expression_statement "paVar26 = output_section_statement->bfd_section;" (assignment_expression "paVar26 = output_section_statement->bfd_section" identifier = (field_expression "output_section_statement->bfd_section" identifier -> field_identifier)) ;) (expression_statement "bVar22 = (byte)opb_shift;" (assignment_expression "bVar22 = (byte)opb_shift" identifier = (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = 1 << (bVar22 & 0x1f);" (assignment_expression "uVar14 = 1 << (bVar22 & 0x1f)" identifier = (binary_expression "1 << (bVar22 & 0x1f)" number_literal << (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if (uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4)) {\n      uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);\n    }" if (parenthesized_expression "(uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4))" ( (binary_expression "uVar14 < *(uint *)(CSWTCH_329 + uVar15 * 4)" identifier < (pointer_expression "*(uint *)(CSWTCH_329 + uVar15 * 4)" * (cast_expression "(uint *)(CSWTCH_329 + uVar15 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CSWTCH_329 + uVar15 * 4)" ( (binary_expression "CSWTCH_329 + uVar15 * 4" identifier + (binary_expression "uVar15 * 4" identifier * number_literal)) ))))) )) (compound_statement "{\n      uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);\n    }" { (expression_statement "uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4);" (assignment_expression "uVar14 = *(uint *)(CSWTCH_329 + uVar15 * 4)" identifier = (pointer_expression "*(uint *)(CSWTCH_329 + uVar15 * 4)" * (cast_expression "(uint *)(CSWTCH_329 + uVar15 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CSWTCH_329 + uVar15 * 4)" ( (binary_expression "CSWTCH_329 + uVar15 * 4" identifier + (binary_expression "uVar15 * 4" identifier * number_literal)) ))))) ;) })) (expression_statement "uVar14 = uVar14 >> (bVar22 & 0x1f);" (assignment_expression "uVar14 = uVar14 >> (bVar22 & 0x1f)" identifier = (binary_expression "uVar14 >> (bVar22 & 0x1f)" identifier >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar15 = uVar14 + (uint)local_34;" (assignment_expression "uVar15 = uVar14 + (uint)local_34" identifier = (binary_expression "uVar14 + (uint)local_34" identifier + (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar13 = local_34._4_4_ + CARRY4(uVar14,(uint)local_34);" (assignment_expression "iVar13 = local_34._4_4_ + CARRY4(uVar14,(uint)local_34)" identifier = (binary_expression "local_34._4_4_ + CARRY4(uVar14,(uint)local_34)" (field_expression "local_34._4_4_" identifier . field_identifier) + (call_expression "CARRY4(uVar14,(uint)local_34)" identifier (argument_list "(uVar14,(uint)local_34)" ( identifier , (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) (expression_statement "local_34 = CONCAT44(iVar13,uVar15);" (assignment_expression "local_34 = CONCAT44(iVar13,uVar15)" identifier = (call_expression "CONCAT44(iVar13,uVar15)" identifier (argument_list "(iVar13,uVar15)" ( identifier , identifier )))) ;) (expression_statement "bVar23 = *(byte *)((int)&paVar26->flags + 1);" (assignment_expression "bVar23 = *(byte *)((int)&paVar26->flags + 1)" identifier = (pointer_expression "*(byte *)((int)&paVar26->flags + 1)" * (cast_expression "(byte *)((int)&paVar26->flags + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->flags + 1)" ( (binary_expression "(int)&paVar26->flags + 1" (cast_expression "(int)&paVar26->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->flags" & (field_expression "paVar26->flags" identifier -> field_identifier))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x00022089;" goto statement_identifier ;)) (case_statement "case lang_reloc_statement_enum:\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->wild_statement).handler_data[1] =\n         (wildcard_list *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).handler_data[0] = (wildcard_list *)((uint)local_34 - (int)bVar36);\n    (local_9c->wild_statement).walk_wild_section_handler =\n         (walk_wild_section_handler_t)output_section_statement->bfd_section;\n    iVar13 = bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted);\n    paVar26 = output_section_statement->bfd_section;\n    bVar22 = (byte)opb_shift;\n    uVar14 = iVar13 >> (bVar22 & 0x1f);\n    uVar15 = uVar14 + (uint)local_34;\n    iVar13 = ((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34);\n    local_34 = CONCAT44(iVar13,uVar15);\n    bVar23 = *(byte *)((int)&paVar26->flags + 1);\njoined_r0x00022089:\n    if ((bVar23 & 8) == 0) {\n      uVar16 = uVar15 - (int)paVar26->vma;\n      uVar17 = uVar16 << (bVar22 & 0x1f);\n      uVar14 = uVar17;\n      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);\n      if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }\n      *(uint *)((int)&paVar26->size + 4) = uVar15;\n      *(uint *)&paVar26->size = uVar14;\n    }\n    break;" case identifier : (expression_statement "pbVar1 = &output_section_statement->bfd_section->vma;" (assignment_expression "pbVar1 = &output_section_statement->bfd_section->vma" identifier = (pointer_expression "&output_section_statement->bfd_section->vma" & (field_expression "output_section_statement->bfd_section->vma" (field_expression "output_section_statement->bfd_section" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "bVar36 = *pbVar1;" (assignment_expression "bVar36 = *pbVar1" identifier = (pointer_expression "*pbVar1" * identifier)) ;) (expression_statement "(local_9c->wild_statement).handler_data[1] =\n         (wildcard_list *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));" (assignment_expression "(local_9c->wild_statement).handler_data[1] =\n         (wildcard_list *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1))" (subscript_expression "(local_9c->wild_statement).handler_data[1]" (field_expression "(local_9c->wild_statement).handler_data" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = (cast_expression "(wildcard_list *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1))" ( (type_descriptor "wildcard_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1))" ( (binary_expression "(local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1)" (parenthesized_expression "(local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4))" ( (binary_expression "local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)" (field_expression "local_34._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)((int)&output_section_statement->bfd_section->vma + 4)" * (cast_expression "(int *)((int)&output_section_statement->bfd_section->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section_statement->bfd_section->vma + 4)" ( (binary_expression "(int)&output_section_statement->bfd_section->vma + 4" (cast_expression "(int)&output_section_statement->bfd_section->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section_statement->bfd_section->vma" & (field_expression "output_section_statement->bfd_section->vma" (field_expression "output_section_statement->bfd_section" identifier -> field_identifier) -> field_identifier))) + number_literal) ))))) )) - (call_expression "(uint)((uint)local_34 < (uint)*pbVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < (uint)*pbVar1)" ( (binary_expression "(uint)local_34 < (uint)*pbVar1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) )))) )))) ;) (expression_statement "(local_9c->wild_statement).handler_data[0] = (wildcard_list *)((uint)local_34 - (int)bVar36);" (assignment_expression "(local_9c->wild_statement).handler_data[0] = (wildcard_list *)((uint)local_34 - (int)bVar36)" (subscript_expression "(local_9c->wild_statement).handler_data[0]" (field_expression "(local_9c->wild_statement).handler_data" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = (cast_expression "(wildcard_list *)((uint)local_34 - (int)bVar36)" ( (type_descriptor "wildcard_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 - (int)bVar36)" ( (binary_expression "(uint)local_34 - (int)bVar36" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(int)bVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(local_9c->wild_statement).walk_wild_section_handler =\n         (walk_wild_section_handler_t)output_section_statement->bfd_section;" (assignment_expression "(local_9c->wild_statement).walk_wild_section_handler =\n         (walk_wild_section_handler_t)output_section_statement->bfd_section" (field_expression "(local_9c->wild_statement).walk_wild_section_handler" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(walk_wild_section_handler_t)output_section_statement->bfd_section" ( (type_descriptor "walk_wild_section_handler_t" type_identifier) ) (field_expression "output_section_statement->bfd_section" identifier -> field_identifier))) ;) (expression_statement "iVar13 = bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted);" (assignment_expression "iVar13 = bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted)" identifier = (call_expression "bfd_get_reloc_size((local_9c->wild_statement).filenames_sorted)" identifier (argument_list "((local_9c->wild_statement).filenames_sorted)" ( (field_expression "(local_9c->wild_statement).filenames_sorted" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) )))) ;) (expression_statement "paVar26 = output_section_statement->bfd_section;" (assignment_expression "paVar26 = output_section_statement->bfd_section" identifier = (field_expression "output_section_statement->bfd_section" identifier -> field_identifier)) ;) (expression_statement "bVar22 = (byte)opb_shift;" (assignment_expression "bVar22 = (byte)opb_shift" identifier = (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = iVar13 >> (bVar22 & 0x1f);" (assignment_expression "uVar14 = iVar13 >> (bVar22 & 0x1f)" identifier = (binary_expression "iVar13 >> (bVar22 & 0x1f)" identifier >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar15 = uVar14 + (uint)local_34;" (assignment_expression "uVar15 = uVar14 + (uint)local_34" identifier = (binary_expression "uVar14 + (uint)local_34" identifier + (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar13 = ((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34);" (assignment_expression "iVar13 = ((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34)" identifier = (binary_expression "((int)uVar14 >> 0x1f) + local_34._4_4_ + (uint)CARRY4(uVar14,(uint)local_34)" (binary_expression "((int)uVar14 >> 0x1f) + local_34._4_4_" (parenthesized_expression "((int)uVar14 >> 0x1f)" ( (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (field_expression "local_34._4_4_" identifier . field_identifier)) + (cast_expression "(uint)CARRY4(uVar14,(uint)local_34)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar14,(uint)local_34)" identifier (argument_list "(uVar14,(uint)local_34)" ( identifier , (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) )))))) ;) (expression_statement "local_34 = CONCAT44(iVar13,uVar15);" (assignment_expression "local_34 = CONCAT44(iVar13,uVar15)" identifier = (call_expression "CONCAT44(iVar13,uVar15)" identifier (argument_list "(iVar13,uVar15)" ( identifier , identifier )))) ;) (expression_statement "bVar23 = *(byte *)((int)&paVar26->flags + 1);" (assignment_expression "bVar23 = *(byte *)((int)&paVar26->flags + 1)" identifier = (pointer_expression "*(byte *)((int)&paVar26->flags + 1)" * (cast_expression "(byte *)((int)&paVar26->flags + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->flags + 1)" ( (binary_expression "(int)&paVar26->flags + 1" (cast_expression "(int)&paVar26->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->flags" & (field_expression "paVar26->flags" identifier -> field_identifier))) + number_literal) ))))) ;) (labeled_statement "joined_r0x00022089:\n    if ((bVar23 & 8) == 0) {\n      uVar16 = uVar15 - (int)paVar26->vma;\n      uVar17 = uVar16 << (bVar22 & 0x1f);\n      uVar14 = uVar17;\n      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);\n      if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }\n      *(uint *)((int)&paVar26->size + 4) = uVar15;\n      *(uint *)&paVar26->size = uVar14;\n    }" statement_identifier : (if_statement "if ((bVar23 & 8) == 0) {\n      uVar16 = uVar15 - (int)paVar26->vma;\n      uVar17 = uVar16 << (bVar22 & 0x1f);\n      uVar14 = uVar17;\n      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);\n      if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }\n      *(uint *)((int)&paVar26->size + 4) = uVar15;\n      *(uint *)&paVar26->size = uVar14;\n    }" if (parenthesized_expression "((bVar23 & 8) == 0)" ( (binary_expression "(bVar23 & 8) == 0" (parenthesized_expression "(bVar23 & 8)" ( (binary_expression "bVar23 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar16 = uVar15 - (int)paVar26->vma;\n      uVar17 = uVar16 << (bVar22 & 0x1f);\n      uVar14 = uVar17;\n      uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);\n      if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }\n      *(uint *)((int)&paVar26->size + 4) = uVar15;\n      *(uint *)&paVar26->size = uVar14;\n    }" { (expression_statement "uVar16 = uVar15 - (int)paVar26->vma;" (assignment_expression "uVar16 = uVar15 - (int)paVar26->vma" identifier = (binary_expression "uVar15 - (int)paVar26->vma" identifier - (cast_expression "(int)paVar26->vma" ( (type_descriptor "int" primitive_type) ) (field_expression "paVar26->vma" identifier -> field_identifier)))) ;) (expression_statement "uVar17 = uVar16 << (bVar22 & 0x1f);" (assignment_expression "uVar17 = uVar16 << (bVar22 & 0x1f)" identifier = (binary_expression "uVar16 << (bVar22 & 0x1f)" identifier << (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar14 = uVar17;" (assignment_expression "uVar14 = uVar17" identifier = identifier) ;) (expression_statement "uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar15 = (iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f)" identifier = (binary_expression "(iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f) | uVar16 >> 0x20 - (bVar22 & 0x1f)" (binary_expression "(iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma) <<\n               (bVar22 & 0x1f)" (binary_expression "(iVar13 - *(int *)((int)&paVar26->vma + 4)) - (uint)(uVar15 < (uint)paVar26->vma)" (parenthesized_expression "(iVar13 - *(int *)((int)&paVar26->vma + 4))" ( (binary_expression "iVar13 - *(int *)((int)&paVar26->vma + 4)" identifier - (pointer_expression "*(int *)((int)&paVar26->vma + 4)" * (cast_expression "(int *)((int)&paVar26->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->vma + 4)" ( (binary_expression "(int)&paVar26->vma + 4" (cast_expression "(int)&paVar26->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->vma" & (field_expression "paVar26->vma" identifier -> field_identifier))) + number_literal) ))))) )) - (call_expression "(uint)(uVar15 < (uint)paVar26->vma)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 < (uint)paVar26->vma)" ( (binary_expression "uVar15 < (uint)paVar26->vma" identifier < (cast_expression "(uint)paVar26->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar26->vma" identifier -> field_identifier))) )))) << (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar16 >> 0x20 - (bVar22 & 0x1f)" identifier >> (binary_expression "0x20 - (bVar22 & 0x1f)" number_literal - (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((bVar22 & 0x20) != 0) {\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }" if (parenthesized_expression "((bVar22 & 0x20) != 0)" ( (binary_expression "(bVar22 & 0x20) != 0" (parenthesized_expression "(bVar22 & 0x20)" ( (binary_expression "bVar22 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar14 = 0;\n        uVar15 = uVar17;\n      }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = uVar17;" (assignment_expression "uVar15 = uVar17" identifier = identifier) ;) })) (expression_statement "*(uint *)((int)&paVar26->size + 4) = uVar15;" (assignment_expression "*(uint *)((int)&paVar26->size + 4) = uVar15" (pointer_expression "*(uint *)((int)&paVar26->size + 4)" * (cast_expression "(uint *)((int)&paVar26->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar26->size + 4)" ( (binary_expression "(int)&paVar26->size + 4" (cast_expression "(int)&paVar26->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar26->size" & (field_expression "paVar26->size" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)&paVar26->size = uVar14;" (assignment_expression "*(uint *)&paVar26->size = uVar14" (pointer_expression "*(uint *)&paVar26->size" * (cast_expression "(uint *)&paVar26->size" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar26->size" & (field_expression "paVar26->size" identifier -> field_identifier)))) = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case lang_padding_statement_enum:\n    (local_9c->wild_statement).section_list = (wildcard_list *)0x0;\n    (local_9c->wild_statement).keep_sections = 0;\n    pbVar1 = &output_section_statement->bfd_section->vma;\n    bVar36 = *pbVar1;\n    (local_9c->data_statement).exp =\n         (etree_union *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));\n    (local_9c->wild_statement).filename = (char *)((uint)local_34 - (int)bVar36);\n    break;" case identifier : (expression_statement "(local_9c->wild_statement).section_list = (wildcard_list *)0x0;" (assignment_expression "(local_9c->wild_statement).section_list = (wildcard_list *)0x0" (field_expression "(local_9c->wild_statement).section_list" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(wildcard_list *)0x0" ( (type_descriptor "wildcard_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(local_9c->wild_statement).keep_sections = 0;" (assignment_expression "(local_9c->wild_statement).keep_sections = 0" (field_expression "(local_9c->wild_statement).keep_sections" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "pbVar1 = &output_section_statement->bfd_section->vma;" (assignment_expression "pbVar1 = &output_section_statement->bfd_section->vma" identifier = (pointer_expression "&output_section_statement->bfd_section->vma" & (field_expression "output_section_statement->bfd_section->vma" (field_expression "output_section_statement->bfd_section" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "bVar36 = *pbVar1;" (assignment_expression "bVar36 = *pbVar1" identifier = (pointer_expression "*pbVar1" * identifier)) ;) (expression_statement "(local_9c->data_statement).exp =\n         (etree_union *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1));" (assignment_expression "(local_9c->data_statement).exp =\n         (etree_union *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1))" (field_expression "(local_9c->data_statement).exp" (parenthesized_expression "(local_9c->data_statement)" ( (field_expression "local_9c->data_statement" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(etree_union *)\n         ((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1))" ( (type_descriptor "etree_union *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1))" ( (binary_expression "(local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)) -\n         (uint)((uint)local_34 < (uint)*pbVar1)" (parenthesized_expression "(local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4))" ( (binary_expression "local_34._4_4_ - *(int *)((int)&output_section_statement->bfd_section->vma + 4)" (field_expression "local_34._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)((int)&output_section_statement->bfd_section->vma + 4)" * (cast_expression "(int *)((int)&output_section_statement->bfd_section->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section_statement->bfd_section->vma + 4)" ( (binary_expression "(int)&output_section_statement->bfd_section->vma + 4" (cast_expression "(int)&output_section_statement->bfd_section->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section_statement->bfd_section->vma" & (field_expression "output_section_statement->bfd_section->vma" (field_expression "output_section_statement->bfd_section" identifier -> field_identifier) -> field_identifier))) + number_literal) ))))) )) - (call_expression "(uint)((uint)local_34 < (uint)*pbVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < (uint)*pbVar1)" ( (binary_expression "(uint)local_34 < (uint)*pbVar1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) )))) )))) ;) (expression_statement "(local_9c->wild_statement).filename = (char *)((uint)local_34 - (int)bVar36);" (assignment_expression "(local_9c->wild_statement).filename = (char *)((uint)local_34 - (int)bVar36)" (field_expression "(local_9c->wild_statement).filename" (parenthesized_expression "(local_9c->wild_statement)" ( (field_expression "local_9c->wild_statement" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)((uint)local_34 - (int)bVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 - (int)bVar36)" ( (binary_expression "(uint)local_34 - (int)bVar36" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(int)bVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (break_statement "break;" break ;)) (case_statement "case lang_group_statement_enum:\n    prev_00 = (lang_statement_list_type *)&(local_9c->assignment_statement).exp;\n    goto LAB_00022351;" case identifier : (expression_statement "prev_00 = (lang_statement_list_type *)&(local_9c->assignment_statement).exp;" (assignment_expression "prev_00 = (lang_statement_list_type *)&(local_9c->assignment_statement).exp" identifier = (cast_expression "(lang_statement_list_type *)&(local_9c->assignment_statement).exp" ( (type_descriptor "lang_statement_list_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_9c->assignment_statement).exp" & (field_expression "(local_9c->assignment_statement).exp" (parenthesized_expression "(local_9c->assignment_statement)" ( (field_expression "local_9c->assignment_statement" identifier -> field_identifier) )) . field_identifier)))) ;) (goto_statement "goto LAB_00022351;" goto statement_identifier ;)) (case_statement "case lang_constructors_statement_enum:\n    prev_00 = &constructor_list;\nLAB_00022351:\n    local_34 = lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions);\n    break;" case identifier : (expression_statement "prev_00 = &constructor_list;" (assignment_expression "prev_00 = &constructor_list" identifier = (pointer_expression "&constructor_list" & identifier)) ;) (labeled_statement "LAB_00022351:\n    local_34 = lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions);" statement_identifier : (expression_statement "local_34 = lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions);" (assignment_expression "local_34 = lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions)" identifier = (call_expression "lang_size_sections_1\n                         (&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions)" identifier (argument_list "(&prev_00->head,output_section_statement,local_8c,dot,relax,check_regions)" ( (pointer_expression "&prev_00->head" & (field_expression "prev_00->head" identifier -> field_identifier)) , identifier , identifier , identifier , identifier , identifier )))) ;)) (break_statement "break;" break ;)) (case_statement "default:\n    info_assert("../../ld/ldlang.c",0x15a7);" default : (expression_statement "info_assert("../../ld/ldlang.c",0x15a7);" (call_expression "info_assert("../../ld/ldlang.c",0x15a7)" identifier (argument_list "("../../ld/ldlang.c",0x15a7)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;)) })) (labeled_statement "LAB_00022010:\n  plVar4 = ((lang_statement_header_type *)&(local_9c->header).next)->next;" statement_identifier : (expression_statement "plVar4 = ((lang_statement_header_type *)&(local_9c->header).next)->next;" (assignment_expression "plVar4 = ((lang_statement_header_type *)&(local_9c->header).next)->next" identifier = (field_expression "((lang_statement_header_type *)&(local_9c->header).next)->next" (parenthesized_expression "((lang_statement_header_type *)&(local_9c->header).next)" ( (cast_expression "(lang_statement_header_type *)&(local_9c->header).next" ( (type_descriptor "lang_statement_header_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_9c->header).next" & (field_expression "(local_9c->header).next" (parenthesized_expression "(local_9c->header)" ( (field_expression "local_9c->header" identifier -> field_identifier) )) . field_identifier))) )) -> field_identifier)) ;)) (expression_statement "prev = (lang_statement_union_type **)local_9c;" (assignment_expression "prev = (lang_statement_union_type **)local_9c" identifier = (cast_expression "(lang_statement_union_type **)local_9c" ( (type_descriptor "lang_statement_union_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "dot = local_34;" (assignment_expression "dot = local_34" identifier = identifier) ;) (goto_statement "goto joined_r0x00021fcf;" goto statement_identifier ;) (labeled_statement "_L1385:\n  goto LAB_00022010;" statement_identifier : (goto_statement "goto LAB_00022010;" goto statement_identifier ;)) })))
(translation_unit "longlong __regparm2\nFUN_00021f80(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  longlong lVar3;\n  longlong lVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  char *pcVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  byte bVar21;\n  byte bVar22;\n  uint uVar23;\n  undefined **extraout_ECX;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  byte bVar33;\n  longlong lVar34;\n  undefined8 uVar35;\n  undefined **ppuVar36;\n  int *local_9c;\n  undefined *puStack_84;\n  uint uStack_80;\n  undefined4 *puStack_7c;\n  uint uStack_78;\n  uint uStack_6c;\n  uint uStack_64;\n  int iStack_60;\n  uint uStack_54;\n  int iStack_50;\n  uint uStack_4c;\n  uint uStack_48;\n  undefined8 local_34;\n  undefined8 uStack_24;\n  undefined4 uStack_14;\n  \n  bVar33 = 0;\n  uStack_14 = 0x21f8b;\n  lVar34 = CONCAT44(param_4,param_3);\n  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;\n  piVar25 = (int *)*param_1;\njoined_r0x00021fcf:\n  local_9c = piVar25;\n  if (local_9c == (int *)0x0) {\n    return lVar34;\n  }\n  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n  local_34._0_4_ = (uint)lVar34;\n  local_34 = lVar34;\n  switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }\nLAB_00022010:\n  piVar25 = (int *)*local_9c;\n  param_1 = local_9c;\n  goto joined_r0x00021fcf;\ncode_r0x0002200c:\n  goto LAB_00022010;\n}\n\n" (function_definition "longlong __regparm2\nFUN_00021f80(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  longlong lVar3;\n  longlong lVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  char *pcVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  byte bVar21;\n  byte bVar22;\n  uint uVar23;\n  undefined **extraout_ECX;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  byte bVar33;\n  longlong lVar34;\n  undefined8 uVar35;\n  undefined **ppuVar36;\n  int *local_9c;\n  undefined *puStack_84;\n  uint uStack_80;\n  undefined4 *puStack_7c;\n  uint uStack_78;\n  uint uStack_6c;\n  uint uStack_64;\n  int iStack_60;\n  uint uStack_54;\n  int iStack_50;\n  uint uStack_4c;\n  uint uStack_48;\n  undefined8 local_34;\n  undefined8 uStack_24;\n  undefined4 uStack_14;\n  \n  bVar33 = 0;\n  uStack_14 = 0x21f8b;\n  lVar34 = CONCAT44(param_4,param_3);\n  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;\n  piVar25 = (int *)*param_1;\njoined_r0x00021fcf:\n  local_9c = piVar25;\n  if (local_9c == (int *)0x0) {\n    return lVar34;\n  }\n  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n  local_34._0_4_ = (uint)lVar34;\n  local_34 = lVar34;\n  switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }\nLAB_00022010:\n  piVar25 = (int *)*local_9c;\n  param_1 = local_9c;\n  goto joined_r0x00021fcf;\ncode_r0x0002200c:\n  goto LAB_00022010;\n}" type_identifier (ERROR "__regparm2" identifier) (function_declarator "FUN_00021f80(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)" identifier (parameter_list "(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  longlong lVar3;\n  longlong lVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  char *pcVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  byte bVar21;\n  byte bVar22;\n  uint uVar23;\n  undefined **extraout_ECX;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  byte bVar33;\n  longlong lVar34;\n  undefined8 uVar35;\n  undefined **ppuVar36;\n  int *local_9c;\n  undefined *puStack_84;\n  uint uStack_80;\n  undefined4 *puStack_7c;\n  uint uStack_78;\n  uint uStack_6c;\n  uint uStack_64;\n  int iStack_60;\n  uint uStack_54;\n  int iStack_50;\n  uint uStack_4c;\n  uint uStack_48;\n  undefined8 local_34;\n  undefined8 uStack_24;\n  undefined4 uStack_14;\n  \n  bVar33 = 0;\n  uStack_14 = 0x21f8b;\n  lVar34 = CONCAT44(param_4,param_3);\n  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;\n  piVar25 = (int *)*param_1;\njoined_r0x00021fcf:\n  local_9c = piVar25;\n  if (local_9c == (int *)0x0) {\n    return lVar34;\n  }\n  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n  local_34._0_4_ = (uint)lVar34;\n  local_34 = lVar34;\n  switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }\nLAB_00022010:\n  piVar25 = (int *)*local_9c;\n  param_1 = local_9c;\n  goto joined_r0x00021fcf;\ncode_r0x0002200c:\n  goto LAB_00022010;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "longlong lVar3;" type_identifier identifier ;) (declaration "longlong lVar4;" type_identifier identifier ;) (declaration "longlong lVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "undefined **extraout_ECX;" type_identifier (pointer_declarator "**extraout_ECX" * (pointer_declarator "*extraout_ECX" * identifier)) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "byte bVar33;" type_identifier identifier ;) (declaration "longlong lVar34;" type_identifier identifier ;) (declaration "undefined8 uVar35;" type_identifier identifier ;) (declaration "undefined **ppuVar36;" type_identifier (pointer_declarator "**ppuVar36" * (pointer_declarator "*ppuVar36" * identifier)) ;) (declaration "int *local_9c;" primitive_type (pointer_declarator "*local_9c" * identifier) ;) (declaration "undefined *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "uint uStack_80;" type_identifier identifier ;) (declaration "undefined4 *puStack_7c;" type_identifier (pointer_declarator "*puStack_7c" * identifier) ;) (declaration "uint uStack_78;" type_identifier identifier ;) (declaration "uint uStack_6c;" type_identifier identifier ;) (declaration "uint uStack_64;" type_identifier identifier ;) (declaration "int iStack_60;" primitive_type identifier ;) (declaration "uint uStack_54;" type_identifier identifier ;) (declaration "int iStack_50;" primitive_type identifier ;) (declaration "uint uStack_4c;" type_identifier identifier ;) (declaration "uint uStack_48;" type_identifier identifier ;) (declaration "undefined8 local_34;" type_identifier identifier ;) (declaration "undefined8 uStack_24;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar33 = 0;" (assignment_expression "bVar33 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x21f8b;" (assignment_expression "uStack_14 = 0x21f8b" identifier = number_literal) ;) (expression_statement "lVar34 = CONCAT44(param_4,param_3);" (assignment_expression "lVar34 = CONCAT44(param_4,param_3)" identifier = (call_expression "CONCAT44(param_4,param_3)" identifier (argument_list "(param_4,param_3)" ( identifier , identifier )))) ;) (expression_statement "puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;" (assignment_expression "puVar9 = PTR__bfd_std_section_00092fb4 + 0x180" identifier = (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" identifier + number_literal)) ;) (expression_statement "piVar25 = (int *)*param_1;" (assignment_expression "piVar25 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (labeled_statement "joined_r0x00021fcf:\n  local_9c = piVar25;" statement_identifier : (expression_statement "local_9c = piVar25;" (assignment_expression "local_9c = piVar25" identifier = identifier) ;)) (if_statement "if (local_9c == (int *)0x0) {\n    return lVar34;\n  }" if (parenthesized_expression "(local_9c == (int *)0x0)" ( (binary_expression "local_9c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return lVar34;\n  }" { (return_statement "return lVar34;" return identifier ;) })) (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (switch_statement "switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }" switch (parenthesized_expression "(local_9c[1])" ( (subscript_expression "local_9c[1]" identifier [ number_literal ]) )) (compound_statement "{\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }" { (case_statement "case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;" case number_literal : (if_statement "if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(local_9c[0x12] != -1)" ( (binary_expression "local_9c[0x12] != -1" (subscript_expression "local_9c[0x12]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar14 = local_9c[0xb];" (assignment_expression "iVar14 = local_9c[0xb]" identifier = (subscript_expression "local_9c[0xb]" identifier [ number_literal ])) ;) (if_statement "if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }" { (if_statement "if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }" if (parenthesized_expression "(((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2))" ( (binary_expression "((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)" (parenthesized_expression "((DAT_00093c80 & 3) == 2)" ( (binary_expression "(DAT_00093c80 & 3) == 2" (parenthesized_expression "(DAT_00093c80 & 3)" ( (binary_expression "DAT_00093c80 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)" ( (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2" (pointer_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00093cb4 + 4) + 4)" ( (binary_expression "*(int *)(DAT_00093cb4 + 4) + 4" (pointer_expression "*(int *)(DAT_00093cb4 + 4)" * (cast_expression "(int *)(DAT_00093cb4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093cb4 + 4)" ( (binary_expression "DAT_00093cb4 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }" { (expression_statement "iVar14 = FUN_000307b0(0,0);" (assignment_expression "iVar14 = FUN_000307b0(0,0)" identifier = (call_expression "FUN_000307b0(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal )))) ;) (expression_statement "local_9c[0xb] = iVar14;" (assignment_expression "local_9c[0xb] = iVar14" (subscript_expression "local_9c[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (iVar14 != 0) goto code_r0x00022390;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00022390;" goto statement_identifier ;)) })) }) (else_clause "else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }" else (compound_statement "{\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }" { (labeled_statement "code_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;" statement_identifier : (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_9c + 0x15) & 0xfe" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal)) ;)) (expression_statement "FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);" (call_expression "FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34)" identifier (argument_list "(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34)" ( identifier , (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" identifier + number_literal) , (pointer_expression "&local_34" & identifier) ))) ;) (if_statement "if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }" if (parenthesized_expression "(DAT_00093e44 == 0)" ( (binary_expression "DAT_00093e44 == 0" identifier == number_literal) )) (compound_statement "{\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }" { (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }" if (parenthesized_expression "(DAT_00093e20 != 1)" ( (binary_expression "DAT_00093e20 != 1" identifier != number_literal) )) (compound_statement "{\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }" { (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" identifier = (subscript_expression "local_9c[6]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = local_9c[0xb];" (assignment_expression "iVar10 = local_9c[0xb]" identifier = (subscript_expression "local_9c[0xb]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);" (assignment_expression "uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5)" identifier = (call_expression "dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5)" identifier (argument_list "(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5)" ( number_literal , (string_literal ""%F%P:%pS: non constant or forward reference address expression for section %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032ba0(uVar16,iVar10,iVar14);" (call_expression "FUN_00032ba0(uVar16,iVar10,iVar14)" identifier (argument_list "(uVar16,iVar10,iVar14)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })) }) (else_clause "else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }" else (compound_statement "{\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }" { (expression_statement "lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);" (assignment_expression "lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34)" identifier = (call_expression "CONCAT44(DAT_00093e38,DAT_00093e34)" identifier (argument_list "(DAT_00093e38,DAT_00093e34)" ( identifier , identifier )))) ;) (if_statement "if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }" if (parenthesized_expression "(DAT_00093e40 != 0)" ( (binary_expression "DAT_00093e40 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }" { (expression_statement "lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));" (assignment_expression "lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c))" identifier = (call_expression "CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c))" identifier (argument_list "(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c))" ( (binary_expression "DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" (binary_expression "DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20)" identifier + (pointer_expression "*(int *)(DAT_00093e40 + 0x20)" * (cast_expression "(int *)(DAT_00093e40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093e40 + 0x20)" ( (binary_expression "DAT_00093e40 + 0x20" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" identifier (argument_list "(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" ( identifier , (pointer_expression "*(uint *)(DAT_00093e40 + 0x1c)" * (cast_expression "(uint *)(DAT_00093e40 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093e40 + 0x1c)" ( (binary_expression "DAT_00093e40 + 0x1c" identifier + number_literal) )))) ))))) , (binary_expression "DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c)" identifier + (pointer_expression "*(uint *)(DAT_00093e40 + 0x1c)" * (cast_expression "(uint *)(DAT_00093e40 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093e40 + 0x1c)" ( (binary_expression "DAT_00093e40 + 0x1c" identifier + number_literal) ))))) )))) ;) })) }))) }))) (expression_statement "puVar6 = PTR__bfd_std_section_00092fb4;" (assignment_expression "puVar6 = PTR__bfd_std_section_00092fb4" identifier = identifier) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (if_statement "if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(puStack_7c != (undefined4 *)0x0)" ( (binary_expression "puStack_7c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (if_statement "if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0))" ( (binary_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)" (parenthesized_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2)" ( (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2" (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U" (pointer_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00093cb4 + 4) + 4)" ( (binary_expression "*(int *)(DAT_00093cb4 + 4) + 4" (pointer_expression "*(int *)(DAT_00093cb4 + 4)" * (cast_expression "(int *)(DAT_00093cb4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093cb4 + 4)" ( (binary_expression "DAT_00093cb4 + 4" identifier + number_literal) )))) + number_literal) )))) - number_literal) < number_literal) )) && (parenthesized_expression "(uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)" ( (comma_expression "uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0" (assignment_expression "uVar11 = puStack_7c[5]" identifier = (subscript_expression "puStack_7c[5]" identifier [ number_literal ])) , (binary_expression "(uVar11 & 0x4000000) != 0" (parenthesized_expression "(uVar11 & 0x4000000)" ( (binary_expression "uVar11 & 0x4000000" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }" { (expression_statement "piVar25 = (int *)local_9c[2];" (assignment_expression "piVar25 = (int *)local_9c[2]" identifier = (cast_expression "(int *)local_9c[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[2]" identifier [ number_literal ]))) ;) (if_statement "if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }" if (parenthesized_expression "(((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5))" ( (binary_expression "((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)" (parenthesized_expression "((piVar25 == (int *)0x0) || (*piVar25 != 0))" ( (binary_expression "(piVar25 == (int *)0x0) || (*piVar25 != 0)" (parenthesized_expression "(piVar25 == (int *)0x0)" ( (binary_expression "piVar25 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar25 != 0)" ( (binary_expression "*piVar25 != 0" (pointer_expression "*piVar25" * identifier) != number_literal) ))) )) || (parenthesized_expression "(piVar25[1] != 5)" ( (binary_expression "piVar25[1] != 5" (subscript_expression "piVar25[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }" { (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" identifier = (subscript_expression "local_9c[6]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);" (assignment_expression "uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5)" identifier (argument_list "(0,"%X%P: internal error on COFF shared library section %s\n",5)" ( number_literal , (string_literal ""%X%P: internal error on COFF shared library section %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032ba0(uVar16,iVar14);" (call_expression "FUN_00032ba0(uVar16,iVar14)" identifier (argument_list "(uVar16,iVar14)" ( identifier , identifier ))) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "piVar25 = (int *)local_9c[2];" (assignment_expression "piVar25 = (int *)local_9c[2]" identifier = (cast_expression "(int *)local_9c[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = puStack_7c[5];" (assignment_expression "uVar11 = puStack_7c[5]" identifier = (subscript_expression "puStack_7c[5]" identifier [ number_literal ])) ;) })) (expression_statement "iVar14 = piVar25[2];" (assignment_expression "iVar14 = piVar25[2]" identifier = (subscript_expression "piVar25[2]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar14 + 0x1c);" (assignment_expression "uVar16 = *(undefined4 *)(iVar14 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x1c)" * (cast_expression "(undefined4 *)(iVar14 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)(iVar14 + 0x20);" (assignment_expression "uVar18 = *(undefined4 *)(iVar14 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x20)" * (cast_expression "(undefined4 *)(iVar14 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;" (assignment_expression "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" * (cast_expression "(byte *)(puStack_7c + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 6)" ( (binary_expression "puStack_7c + 6" identifier + number_literal) )))) = (binary_expression "*(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" * (cast_expression "(byte *)(puStack_7c + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 6)" ( (binary_expression "puStack_7c + 6" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "puStack_7c[9] = uVar16;" (assignment_expression "puStack_7c[9] = uVar16" (subscript_expression "puStack_7c[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_7c[10] = uVar18;" (assignment_expression "puStack_7c[10] = uVar18" (subscript_expression "puStack_7c[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_7c[7] = uVar16;" (assignment_expression "puStack_7c[7] = uVar16" (subscript_expression "puStack_7c[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_7c[8] = uVar18;" (assignment_expression "puStack_7c[8] = uVar18" (subscript_expression "puStack_7c[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }" if (parenthesized_expression "((uVar11 & 0x800) == 0)" ( (binary_expression "(uVar11 & 0x800) == 0" (parenthesized_expression "(uVar11 & 0x800)" ( (binary_expression "uVar11 & 0x800" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }" { (expression_statement "uVar16 = *(undefined4 *)(iVar14 + 0x30);" (assignment_expression "uVar16 = *(undefined4 *)(iVar14 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x30)" * (cast_expression "(undefined4 *)(iVar14 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);" (assignment_expression "puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c)" (subscript_expression "puStack_7c[0xb]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar14 + 0x2c)" * (cast_expression "(undefined4 *)(iVar14 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c[0xc] = uVar16;" (assignment_expression "puStack_7c[0xc] = uVar16" (subscript_expression "puStack_7c[0xc]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }" else (compound_statement "{\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }" { (if_statement "if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }" if (parenthesized_expression "(puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180))" ( (binary_expression "puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" identifier + number_literal) )))) )) (compound_statement "{\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }" { (expression_statement "uStack_6c = 0;" (assignment_expression "uStack_6c = 0" identifier = number_literal) ;) (expression_statement "iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);" (assignment_expression "iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" identifier = (pointer_expression "*(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" * (cast_expression "(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x1a0)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x1a0" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);" (assignment_expression "uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" identifier = (pointer_expression "*(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" * (cast_expression "(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x19c)" ( (binary_expression "PTR__bfd_std_section_00092fb4 + 0x19c" identifier + number_literal) ))))) ;) (if_statement "if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }" if (parenthesized_expression "(iStack_50 != 0 || uStack_54 != 0)" ( (binary_expression "iStack_50 != 0 || uStack_54 != 0" (binary_expression "iStack_50 != 0" identifier != number_literal) || (binary_expression "uStack_54 != 0" identifier != number_literal)) )) (compound_statement "{\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }" { (expression_statement "FUN_00032bf0("../../ld/ldlang.c",0x13e5);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",0x13e5)" identifier (argument_list "("../../ld/ldlang.c",0x13e5)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) (expression_statement "uStack_54 = 0;" (assignment_expression "uStack_54 = 0" identifier = number_literal) ;) (expression_statement "iStack_50 = 0;" (assignment_expression "iStack_50 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }" else (compound_statement "{\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }" { (if_statement "if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }" if (parenthesized_expression "(local_9c[0xb] == 0)" ( (binary_expression "local_9c[0xb] == 0" (subscript_expression "local_9c[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }" { (expression_statement "puVar20 = (undefined4 *)local_9c[8];" (assignment_expression "puVar20 = (undefined4 *)local_9c[8]" identifier = (cast_expression "(undefined4 *)local_9c[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[8]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = puStack_7c[5];" (assignment_expression "uVar11 = puStack_7c[5]" identifier = (subscript_expression "puStack_7c[5]" identifier [ number_literal ])) ;) (if_statement "if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" if (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" ( (binary_expression "puVar20 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }" { (labeled_statement "code_r0x0002315d:\n                puVar20 = DAT_0009384c;" statement_identifier : (expression_statement "puVar20 = DAT_0009384c;" (assignment_expression "puVar20 = DAT_0009384c" identifier = identifier) ;)) (if_statement "if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }" if (parenthesized_expression "((uVar11 & 0x19) == 1)" ( (binary_expression "(uVar11 & 0x19) == 1" (parenthesized_expression "(uVar11 & 0x19)" ( (binary_expression "uVar11 & 0x19" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  uVar11 = uVar11 | 0x20;\n                }" { (expression_statement "uVar11 = uVar11 | 0x20;" (assignment_expression "uVar11 = uVar11 | 0x20" identifier = (binary_expression "uVar11 | 0x20" identifier | number_literal)) ;) })) (for_statement "for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }" for ( ; (binary_expression "puVar20 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar20 = (undefined4 *)puVar20[2]" identifier = (cast_expression "(undefined4 *)puVar20[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[2]" identifier [ number_literal ]))) ) (compound_statement "{\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }" { (if_statement "if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;" if (parenthesized_expression "(((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))" ( (binary_expression "((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0)" (parenthesized_expression "((puVar20[0xc] & uVar11) != 0)" ( (binary_expression "(puVar20[0xc] & uVar11) != 0" (parenthesized_expression "(puVar20[0xc] & uVar11)" ( (binary_expression "puVar20[0xc] & uVar11" (subscript_expression "puVar20[0xc]" identifier [ number_literal ]) & identifier) )) != number_literal) )) && (parenthesized_expression "((puVar20[0xd] & uVar11) == 0)" ( (binary_expression "(puVar20[0xd] & uVar11) == 0" (parenthesized_expression "(puVar20[0xd] & uVar11)" ( (binary_expression "puVar20[0xd] & uVar11" (subscript_expression "puVar20[0xd]" identifier [ number_literal ]) & identifier) )) == number_literal) ))) )) (goto_statement "goto code_r0x000231b2;" goto statement_identifier ;)) })) (expression_statement "puVar20 = (undefined4 *)FUN_00021e10("*default*",0);" (assignment_expression "puVar20 = (undefined4 *)FUN_00021e10("*default*",0)" identifier = (cast_expression "(undefined4 *)FUN_00021e10("*default*",0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00021e10("*default*",0)" identifier (argument_list "("*default*",0)" ( (string_literal ""*default*"" " string_content ") , number_literal ))))) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (labeled_statement "code_r0x000231b2:\n                local_9c[8] = (int)puVar20;" statement_identifier : (expression_statement "local_9c[8] = (int)puVar20;" (assignment_expression "local_9c[8] = (int)puVar20" (subscript_expression "local_9c[8]" identifier [ number_literal ]) = (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) }) (else_clause "else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" else (if_statement "if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" if (parenthesized_expression "((uVar11 & 3) != 0)" ( (binary_expression "(uVar11 & 3) != 0" (parenthesized_expression "(uVar11 & 3)" ( (binary_expression "uVar11 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" { (expression_statement "bVar22 = *(byte *)*puVar20;" (assignment_expression "bVar22 = *(byte *)*puVar20" identifier = (pointer_expression "*(byte *)*puVar20" * (cast_expression "(byte *)*puVar20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier)))) ;) (expression_statement "bVar31 = bVar22 < 0x2a;" (assignment_expression "bVar31 = bVar22 < 0x2a" identifier = (binary_expression "bVar22 < 0x2a" identifier < number_literal)) ;) (expression_statement "bVar32 = bVar22 == 0x2a;" (assignment_expression "bVar32 = bVar22 == 0x2a" identifier = (binary_expression "bVar22 == 0x2a" identifier == number_literal)) ;) (if_statement "if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }" { (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" identifier = number_literal) ;) (expression_statement "pbVar28 = (byte *)*puVar20;" (assignment_expression "pbVar28 = (byte *)*puVar20" identifier = (cast_expression "(byte *)*puVar20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (expression_statement "pbVar30 = (byte *)"*default*";" (assignment_expression "pbVar30 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);" do (compound_statement "{\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar28 < *pbVar30;" (assignment_expression "bVar31 = *pbVar28 < *pbVar30" identifier = (binary_expression "*pbVar28 < *pbVar30" (pointer_expression "*pbVar28" * identifier) < (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "bVar32 = *pbVar28 == *pbVar30;" (assignment_expression "bVar32 = *pbVar28 == *pbVar30" identifier = (binary_expression "*pbVar28 == *pbVar30" (pointer_expression "*pbVar28" * identifier) == (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1" identifier = (binary_expression "pbVar28 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar33 * -2" identifier + (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1" identifier = (binary_expression "pbVar30 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar33 * -2" identifier + (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar32)" ( identifier )) ;) (if_statement "if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;" if (parenthesized_expression "((!bVar31 && !bVar32) == bVar31)" ( (binary_expression "(!bVar31 && !bVar32) == bVar31" (parenthesized_expression "(!bVar31 && !bVar32)" ( (binary_expression "!bVar31 && !bVar32" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar32" ! identifier)) )) == identifier) )) (goto_statement "goto code_r0x0002315d;" goto statement_identifier ;)) })) })))) (expression_statement "puVar7 = DAT_0009384c;" (assignment_expression "puVar7 = DAT_0009384c" identifier = identifier) ;) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (if_statement "if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2))" ( (binary_expression "((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)" (parenthesized_expression "((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400))" ( (binary_expression "(((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)" (parenthesized_expression "(((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0))" ( (binary_expression "((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)" (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 8) == 0)" ( (binary_expression "(*(byte *)(local_9c + 0x15) & 8) == 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 8)" ( (binary_expression "*(byte *)(local_9c + 0x15) & 8" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((puStack_7c[5] & 1) != 0)" ( (binary_expression "(puStack_7c[5] & 1) != 0" (parenthesized_expression "(puStack_7c[5] & 1)" ( (binary_expression "puStack_7c[5] & 1" (subscript_expression "puStack_7c[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((puStack_7c[5] & 0x402) != 0x400)" ( (binary_expression "(puStack_7c[5] & 0x402) != 0x400" (parenthesized_expression "(puStack_7c[5] & 0x402)" ( (binary_expression "puStack_7c[5] & 0x402" (subscript_expression "puStack_7c[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((DAT_00093c80 & 3) != 2)" ( (binary_expression "(DAT_00093c80 & 3) != 2" (parenthesized_expression "(DAT_00093c80 & 3)" ( (binary_expression "DAT_00093c80 & 3" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }" { (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "bVar32 = param_6 == 0;" (assignment_expression "bVar32 = param_6 == 0" identifier = (binary_expression "param_6 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (compound_statement "{\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }" { (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" identifier = number_literal) ;) (expression_statement "pbVar28 = (byte *)*puVar20;" (assignment_expression "pbVar28 = (byte *)*puVar20" identifier = (cast_expression "(byte *)*puVar20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (expression_statement "pbVar30 = (byte *)"*default*";" (assignment_expression "pbVar30 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);" do (compound_statement "{\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar28 < *pbVar30;" (assignment_expression "bVar31 = *pbVar28 < *pbVar30" identifier = (binary_expression "*pbVar28 < *pbVar30" (pointer_expression "*pbVar28" * identifier) < (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "bVar32 = *pbVar28 == *pbVar30;" (assignment_expression "bVar32 = *pbVar28 == *pbVar30" identifier = (binary_expression "*pbVar28 == *pbVar30" (pointer_expression "*pbVar28" * identifier) == (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1" identifier = (binary_expression "pbVar28 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar33 * -2" identifier + (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1" identifier = (binary_expression "pbVar30 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar33 * -2" identifier + (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar32)" ( identifier )) ;) (if_statement "if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }" if (parenthesized_expression "(((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0))" ( (binary_expression "((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)" (parenthesized_expression "((!bVar31 && !bVar32) == bVar31)" ( (binary_expression "(!bVar31 && !bVar32) == bVar31" (parenthesized_expression "(!bVar31 && !bVar32)" ( (binary_expression "!bVar31 && !bVar32" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar32" ! identifier)) )) == identifier) )) && (parenthesized_expression "(DAT_0009384c != (undefined4 *)0x0)" ( (binary_expression "DAT_0009384c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }" { (expression_statement "iVar14 = strcmp((char *)*DAT_0009384c,"*default*");" (assignment_expression "iVar14 = strcmp((char *)*DAT_0009384c,"*default*")" identifier = (call_expression "strcmp((char *)*DAT_0009384c,"*default*")" identifier (argument_list "((char *)*DAT_0009384c,"*default*")" ( (cast_expression "(char *)*DAT_0009384c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_0009384c" * identifier)) , (string_literal ""*default*"" " string_content ") )))) ;) (if_statement "if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }" if (parenthesized_expression "(((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1))" ( (binary_expression "((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)" (parenthesized_expression "((iVar14 != 0) || (puVar7[2] != 0))" ( (binary_expression "(iVar14 != 0) || (puVar7[2] != 0)" (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) || (parenthesized_expression "(puVar7[2] != 0)" ( (binary_expression "puVar7[2] != 0" (subscript_expression "puVar7[2]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(DAT_00093e20 != 1)" ( (binary_expression "DAT_00093e20 != 1" identifier != number_literal) ))) )) (compound_statement "{\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }" { (expression_statement "uVar16 = *puStack_7c;" (assignment_expression "uVar16 = *puStack_7c" identifier = (pointer_expression "*puStack_7c" * identifier)) ;) (if_statement "if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }" if (parenthesized_expression "(DAT_00093d38 == '\0')" ( (binary_expression "DAT_00093d38 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }" { (expression_statement "pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";" (assignment_expression "pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n"" identifier = (string_literal ""%P: warning: no memory region specified for loadable section `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "ppuVar36 = extraout_ECX;" (assignment_expression "ppuVar36 = extraout_ECX" identifier = identifier) ;) }) (else_clause "else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }" else (compound_statement "{\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }" { (expression_statement "pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";" (assignment_expression "pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n"" identifier = (string_literal ""%F%P: error: no memory region specified for loadable section `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "ppuVar36 = &__DT_PLTGOT;" (assignment_expression "ppuVar36 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) }))) (expression_statement "uVar18 = dcgettext(0,pcVar17,5,ppuVar36);" (assignment_expression "uVar18 = dcgettext(0,pcVar17,5,ppuVar36)" identifier = (call_expression "dcgettext(0,pcVar17,5,ppuVar36)" identifier (argument_list "(0,pcVar17,5,ppuVar36)" ( number_literal , identifier , number_literal , identifier )))) ;) (expression_statement "FUN_00032ba0(uVar18,uVar16);" (call_expression "FUN_00032ba0(uVar18,uVar16)" identifier (argument_list "(uVar18,uVar16)" ( identifier , identifier ))) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar20 = (undefined4 *)local_9c[8];" (assignment_expression "puVar20 = (undefined4 *)local_9c[8]" identifier = (cast_expression "(undefined4 *)local_9c[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[8]" identifier [ number_literal ]))) ;) })) })) })) })) (expression_statement "lVar34 = *(longlong *)(puVar20 + 9);" (assignment_expression "lVar34 = *(longlong *)(puVar20 + 9)" identifier = (pointer_expression "*(longlong *)(puVar20 + 9)" * (cast_expression "(longlong *)(puVar20 + 9)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 9)" ( (binary_expression "puVar20 + 9" identifier + number_literal) ))))) ;) (expression_statement "uStack_6c = puStack_7c[0x16];" (assignment_expression "uStack_6c = puStack_7c[0x16]" identifier = (subscript_expression "puStack_7c[0x16]" identifier [ number_literal ])) ;) }) (else_clause "else {\n              uStack_6c = local_9c[0x11];\n            }" else (compound_statement "{\n              uStack_6c = local_9c[0x11];\n            }" { (expression_statement "uStack_6c = local_9c[0x11];" (assignment_expression "uStack_6c = local_9c[0x11]" identifier = (subscript_expression "local_9c[0x11]" identifier [ number_literal ])) ;) }))) (expression_statement "iStack_60 = (int)((ulonglong)lVar34 >> 0x20);" (assignment_expression "iStack_60 = (int)((ulonglong)lVar34 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_64 = (uint)lVar34;" (assignment_expression "uStack_64 = (uint)lVar34" identifier = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }" if (parenthesized_expression "((int)uStack_6c < 1)" ( (binary_expression "(int)uStack_6c < 1" (cast_expression "(int)uStack_6c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }" { (expression_statement "uStack_54 = 0;" (assignment_expression "uStack_54 = 0" identifier = number_literal) ;) (expression_statement "iStack_50 = 0;" (assignment_expression "iStack_50 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }" else (compound_statement "{\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }" { (expression_statement "bVar31 = (uStack_6c & 0x20) == 0;" (assignment_expression "bVar31 = (uStack_6c & 0x20) == 0" identifier = (binary_expression "(uStack_6c & 0x20) == 0" (parenthesized_expression "(uStack_6c & 0x20)" ( (binary_expression "uStack_6c & 0x20" identifier & number_literal) )) == number_literal)) ;) (expression_statement "iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);" (assignment_expression "iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f)" identifier = (binary_expression "(uint)!bVar31 << ((byte)uStack_6c & 0x1f)" (cast_expression "(uint)!bVar31" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!bVar31" ! identifier)) << (parenthesized_expression "((byte)uStack_6c & 0x1f)" ( (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);" (assignment_expression "iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f)" identifier = (binary_expression "(uint)bVar31 << ((byte)uStack_6c & 0x1f)" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) << (parenthesized_expression "((byte)uStack_6c & 0x1f)" ( (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);" (assignment_expression "lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14)" identifier = (binary_expression "lVar34 + -1 + CONCAT44(iVar10,iVar14)" (binary_expression "lVar34 + -1" identifier + number_literal) + (call_expression "CONCAT44(iVar10,iVar14)" identifier (argument_list "(iVar10,iVar14)" ( identifier , identifier ))))) ;) (expression_statement "uVar13 = -iVar14 & (uint)lVar34;" (assignment_expression "uVar13 = -iVar14 & (uint)lVar34" identifier = (binary_expression "-iVar14 & (uint)lVar34" (unary_expression "-iVar14" - identifier) & (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20)" identifier = (binary_expression "-(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20)" (unary_expression "-(iVar10 + (uint)(iVar14 != 0))" - (parenthesized_expression "(iVar10 + (uint)(iVar14 != 0))" ( (binary_expression "iVar10 + (uint)(iVar14 != 0)" identifier + (call_expression "(uint)(iVar14 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )))) ))) & (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) (expression_statement "uStack_54 = uVar13 - uStack_64;" (assignment_expression "uStack_54 = uVar13 - uStack_64" identifier = (binary_expression "uVar13 - uStack_64" identifier - identifier)) ;) (expression_statement "iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);" (assignment_expression "iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64)" identifier = (binary_expression "(uVar11 - iStack_60) - (uint)(uVar13 < uStack_64)" (parenthesized_expression "(uVar11 - iStack_60)" ( (binary_expression "uVar11 - iStack_60" identifier - identifier) )) - (call_expression "(uint)(uVar13 < uStack_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uStack_64)" ( (binary_expression "uVar13 < uStack_64" identifier < identifier) ))))) ;) (expression_statement "lVar34 = CONCAT44(uVar11,uVar13);" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" identifier = (call_expression "CONCAT44(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier )))) ;) (if_statement "if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }" if (parenthesized_expression "(((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1))" ( (binary_expression "((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)" (parenthesized_expression "((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))" ( (binary_expression "(iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)))" (parenthesized_expression "(iStack_50 != 0 || uStack_54 != 0)" ( (binary_expression "iStack_50 != 0 || uStack_54 != 0" (binary_expression "iStack_50 != 0" identifier != number_literal) || (binary_expression "uStack_54 != 0" identifier != number_literal)) )) && (parenthesized_expression "((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)))" ( (parenthesized_expression "(iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))" ( (binary_expression "iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)" (binary_expression "iRam00093da4 != 0" identifier != number_literal) || (parenthesized_expression "(lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)" ( (comma_expression "lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" identifier = (call_expression "CONCAT44(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier )))) , (binary_expression "local_9c[0xb] != 0" (subscript_expression "local_9c[0xb]" identifier [ number_literal ]) != number_literal)) ))) )) ))) )) && (parenthesized_expression "(lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)" ( (comma_expression "lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" identifier = (call_expression "CONCAT44(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier )))) , (binary_expression "DAT_00093e20 != 1" identifier != number_literal)) ))) )) (compound_statement "{\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }" { (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" identifier = (subscript_expression "local_9c[6]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);" (assignment_expression "uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5)" identifier = (call_expression "dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5)" identifier (argument_list "(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5)" ( number_literal , (string_literal ""%P: warning: changing start of section %s by %lu byte\n"" " string_content escape_sequence ") , (string_literal ""%P: warning: changing start of section %s by %lu bytes\n"" " string_content escape_sequence ") , identifier , number_literal )))) ;) (expression_statement "FUN_00032ba0(uVar16,iVar14,uStack_54);" (call_expression "FUN_00032ba0(uVar16,iVar14,uStack_54)" identifier (argument_list "(uVar16,iVar14,uStack_54)" ( identifier , identifier , identifier ))) ;) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" identifier = (cast_expression "(undefined4 *)local_9c[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "lVar34 = CONCAT44(uVar11,uVar13);" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" identifier = (call_expression "CONCAT44(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier )))) ;) })) }))) (expression_statement "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;" (assignment_expression "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" * (cast_expression "(byte *)(puStack_7c + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 6)" ( (binary_expression "puStack_7c + 6" identifier + number_literal) )))) = (binary_expression "*(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" * (cast_expression "(byte *)(puStack_7c + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 6)" ( (binary_expression "puStack_7c + 6" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(longlong *)(puStack_7c + 9) = lVar34;" (assignment_expression "*(longlong *)(puStack_7c + 9) = lVar34" (pointer_expression "*(longlong *)(puStack_7c + 9)" * (cast_expression "(longlong *)(puStack_7c + 9)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 9)" ( (binary_expression "puStack_7c + 9" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(longlong *)(puStack_7c + 7) = lVar34;" (assignment_expression "*(longlong *)(puStack_7c + 7) = lVar34" (pointer_expression "*(longlong *)(puStack_7c + 7)" * (cast_expression "(longlong *)(puStack_7c + 7)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_7c + 7)" ( (binary_expression "puStack_7c + 7" identifier + number_literal) )))) = identifier) ;) (expression_statement "puStack_7c[0x13] = 0;" (assignment_expression "puStack_7c[0x13] = 0" (subscript_expression "puStack_7c[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_7c[0x14] = 0;" (assignment_expression "puStack_7c[0x14] = 0" (subscript_expression "puStack_7c[0x14]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "FUN_00021f80(lVar34,param_5,param_6);" (call_expression "FUN_00021f80(lVar34,param_5,param_6)" identifier (argument_list "(lVar34,param_5,param_6)" ( identifier , identifier , identifier ))) ;) (expression_statement "bVar22 = *(byte *)(local_9c + 0x15);" (assignment_expression "bVar22 = *(byte *)(local_9c + 0x15)" identifier = (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) ))))) ;) (expression_statement "puVar2 = (undefined *)local_9c[7];" (assignment_expression "puVar2 = (undefined *)local_9c[7]" identifier = (cast_expression "(undefined *)local_9c[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "*(byte *)(local_9c + 0x15) = bVar22 | 1;" (assignment_expression "*(byte *)(local_9c + 0x15) = bVar22 | 1" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "bVar22 | 1" identifier | number_literal)) ;) (if_statement "if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }" if (parenthesized_expression "(puVar2 == puVar6 + 0x180)" ( (binary_expression "puVar2 == puVar6 + 0x180" identifier == (binary_expression "puVar6 + 0x180" identifier + number_literal)) )) (compound_statement "{\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }" { (expression_statement "uStack_80 = *(uint *)(puVar6 + 0x1b0);" (assignment_expression "uStack_80 = *(uint *)(puVar6 + 0x1b0)" identifier = (pointer_expression "*(uint *)(puVar6 + 0x1b0)" * (cast_expression "(uint *)(puVar6 + 0x1b0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x1b0)" ( (binary_expression "puVar6 + 0x1b0" identifier + number_literal) ))))) ;) (expression_statement "puStack_84 = *(undefined **)(puVar6 + 0x1ac);" (assignment_expression "puStack_84 = *(undefined **)(puVar6 + 0x1ac)" identifier = (pointer_expression "*(undefined **)(puVar6 + 0x1ac)" * (cast_expression "(undefined **)(puVar6 + 0x1ac)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x1ac)" ( (binary_expression "puVar6 + 0x1ac" identifier + number_literal) ))))) ;) (labeled_statement "code_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }" statement_identifier : (if_statement "if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }" if (parenthesized_expression "(uStack_80 != 0 || puStack_84 != (undefined *)0x0)" ( (binary_expression "uStack_80 != 0 || puStack_84 != (undefined *)0x0" (binary_expression "uStack_80 != 0" identifier != number_literal) || (binary_expression "puStack_84 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }" { (expression_statement "FUN_00032bf0("../../ld/ldlang.c",0x1443);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",0x1443)" identifier (argument_list "("../../ld/ldlang.c",0x1443)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) }))) }) (else_clause "else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }" else (compound_statement "{\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }" { (expression_statement "puStack_84 = *(undefined **)(puVar2 + 0x2c);" (assignment_expression "puStack_84 = *(undefined **)(puVar2 + 0x2c)" identifier = (pointer_expression "*(undefined **)(puVar2 + 0x2c)" * (cast_expression "(undefined **)(puVar2 + 0x2c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x2c)" ( (binary_expression "puVar2 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uStack_80 = *(uint *)(puVar2 + 0x30);" (assignment_expression "uStack_80 = *(uint *)(puVar2 + 0x30)" identifier = (pointer_expression "*(uint *)(puVar2 + 0x30)" * (cast_expression "(uint *)(puVar2 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if ((bVar22 & 8) != 0) goto code_r0x00022aad;" if (parenthesized_expression "((bVar22 & 8) != 0)" ( (binary_expression "(bVar22 & 8) != 0" (parenthesized_expression "(bVar22 & 8)" ( (binary_expression "bVar22 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto code_r0x00022aad;" goto statement_identifier ;)) (expression_statement "puVar1 = (uint *)(puVar2 + 0x1c);" (assignment_expression "puVar1 = (uint *)(puVar2 + 0x1c)" identifier = (cast_expression "(uint *)(puVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x1c)" ( (binary_expression "puVar2 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_34 = *(longlong *)puVar1;" (assignment_expression "local_34 = *(longlong *)puVar1" identifier = (pointer_expression "*(longlong *)puVar1" * (cast_expression "(longlong *)puVar1" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }" if (parenthesized_expression "((puVar2[0x15] & 8) == 0)" ( (binary_expression "(puVar2[0x15] & 8) == 0" (parenthesized_expression "(puVar2[0x15] & 8)" ( (binary_expression "puVar2[0x15] & 8" (subscript_expression "puVar2[0x15]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }" { (expression_statement "uVar13 = local_9c[0xf];" (assignment_expression "uVar13 = local_9c[0xf]" identifier = (subscript_expression "local_9c[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = (uVar11 + uVar13) - 1;" (assignment_expression "uVar19 = (uVar11 + uVar13) - 1" identifier = (binary_expression "(uVar11 + uVar13) - 1" (parenthesized_expression "(uVar11 + uVar13)" ( (binary_expression "uVar11 + uVar13" identifier + identifier) )) - number_literal)) ;) (expression_statement "bVar22 = (byte)DAT_0009386c;" (assignment_expression "bVar22 = (byte)DAT_0009386c" identifier = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar27 = uStack_80 >> (bVar22 & 0x1f);" (assignment_expression "uVar27 = uStack_80 >> (bVar22 & 0x1f)" identifier = (binary_expression "uStack_80 >> (bVar22 & 0x1f)" identifier >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar15 = uVar27;" (assignment_expression "uVar15 = uVar27" identifier = identifier) ;) (expression_statement "uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f)" identifier = (binary_expression "(uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f)" (binary_expression "(uint)puStack_84 >> (bVar22 & 0x1f)" (cast_expression "(uint)puStack_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) | (binary_expression "uStack_80 << 0x20 - (bVar22 & 0x1f)" identifier << (binary_expression "0x20 - (bVar22 & 0x1f)" number_literal - (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = uVar27;" (assignment_expression "uVar12 = uVar27" identifier = identifier) ;) })) (expression_statement "uVar29 = uVar19 + uVar12 & -uVar13;" (assignment_expression "uVar29 = uVar19 + uVar12 & -uVar13" identifier = (binary_expression "uVar19 + uVar12 & -uVar13" (binary_expression "uVar19 + uVar12" identifier + identifier) & (unary_expression "-uVar13" - identifier))) ;) (expression_statement "uVar23 = uVar29 - uVar11;" (assignment_expression "uVar23 = uVar29 - uVar11" identifier = (binary_expression "uVar29 - uVar11" identifier - identifier)) ;) (expression_statement "uVar26 = uVar23 << (bVar22 & 0x1f);" (assignment_expression "uVar26 = uVar23 << (bVar22 & 0x1f)" identifier = (binary_expression "uVar23 << (bVar22 & 0x1f)" identifier << (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar27 = uVar26;" (assignment_expression "uVar27 = uVar26" identifier = identifier) ;) (expression_statement "uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f)" identifier = (binary_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f)" (binary_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f)" (binary_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)" (parenthesized_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20))" ( (binary_expression "(*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)" (parenthesized_expression "(*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0))" ( (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12)" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0)" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13)" (pointer_expression "*(int *)(puVar2 + 0x20)" * (cast_expression "(int *)(puVar2 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x20)" ( (binary_expression "puVar2 + 0x20" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar11,uVar13)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,uVar13)" identifier (argument_list "(uVar11,uVar13)" ( identifier , identifier ))))) + number_literal) + (call_expression "(uint)(uVar11 + uVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 + uVar13 != 0)" ( (binary_expression "uVar11 + uVar13 != 0" (binary_expression "uVar11 + uVar13" identifier + identifier) != number_literal) )))) + identifier) + (cast_expression "(uint)CARRY4(uVar19,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar19,uVar12)" identifier (argument_list "(uVar19,uVar12)" ( identifier , identifier ))))) & (unary_expression "-(uint)(uVar13 != 0)" - (call_expression "(uint)(uVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) ))))) )) - (pointer_expression "*(int *)(puVar2 + 0x20)" * (cast_expression "(int *)(puVar2 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x20)" ( (binary_expression "puVar2 + 0x20" identifier + number_literal) ))))) )) - (call_expression "(uint)(uVar29 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar29 < uVar11)" ( (binary_expression "uVar29 < uVar11" identifier < identifier) )))) << (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar23 >> 0x20 - (bVar22 & 0x1f)" identifier >> (binary_expression "0x20 - (bVar22 & 0x1f)" number_literal - (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar26;" (assignment_expression "uVar11 = uVar26" identifier = identifier) ;) })) (expression_statement "*(uint *)(puVar2 + 0x30) = uVar11;" (assignment_expression "*(uint *)(puVar2 + 0x30) = uVar11" (pointer_expression "*(uint *)(puVar2 + 0x30)" * (cast_expression "(uint *)(puVar2 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar2 + 0x2c) = uVar27;" (assignment_expression "*(uint *)(puVar2 + 0x2c) = uVar27" (pointer_expression "*(uint *)(puVar2 + 0x2c)" * (cast_expression "(uint *)(puVar2 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x2c)" ( (binary_expression "puVar2 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_34 = *(longlong *)puVar1;" (assignment_expression "local_34 = *(longlong *)puVar1" identifier = (pointer_expression "*(longlong *)puVar1" * (cast_expression "(longlong *)puVar1" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) }))) (expression_statement "uStack_64 = local_9c[8];" (assignment_expression "uStack_64 = local_9c[8]" identifier = (subscript_expression "local_9c[8]" identifier [ number_literal ])) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }" if (parenthesized_expression "(uStack_64 == 0)" ( (binary_expression "uStack_64 == 0" identifier == number_literal) )) (compound_statement "{\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }" { (expression_statement "uStack_64 = FUN_00021e10("*default*",0);" (assignment_expression "uStack_64 = FUN_00021e10("*default*",0)" identifier = (call_expression "FUN_00021e10("*default*",0)" identifier (argument_list "("*default*",0)" ( (string_literal ""*default*"" " string_content ") , number_literal )))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })) (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (if_statement "if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(local_9c[0xc] == 0)" ( (binary_expression "local_9c[0xc] == 0" (subscript_expression "local_9c[0xc]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }" { (expression_statement "puStack_84 = (undefined *)local_9c[7];" (assignment_expression "puStack_84 = (undefined *)local_9c[7]" identifier = (cast_expression "(undefined *)local_9c[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "iVar14 = local_9c[9];" (assignment_expression "iVar14 = local_9c[9]" identifier = (subscript_expression "local_9c[9]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x14);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x14)" identifier = (pointer_expression "*(uint *)(puStack_84 + 0x14)" * (cast_expression "(uint *)(puStack_84 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x14)" ( (binary_expression "puStack_84 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c = (undefined4 *)(uVar11 & 1);" (assignment_expression "puStack_7c = (undefined4 *)(uVar11 & 1)" identifier = (cast_expression "(undefined4 *)(uVar11 & 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 & 1)" ( (binary_expression "uVar11 & 1" identifier & number_literal) )))) ;) (if_statement "if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }" { (expression_statement "uStack_4c = *(uint *)(iVar14 + 0x24);" (assignment_expression "uStack_4c = *(uint *)(iVar14 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x24)" * (cast_expression "(uint *)(iVar14 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uStack_48 = *(uint *)(iVar14 + 0x28);" (assignment_expression "uStack_48 = *(uint *)(iVar14 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x28)" * (cast_expression "(uint *)(iVar14 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }" if (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 0x40) == 0)" ( (binary_expression "(*(byte *)(local_9c + 0x15) & 0x40) == 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 0x40)" ( (binary_expression "*(byte *)(local_9c + 0x15) & 0x40" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }" { (if_statement "if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }" if (parenthesized_expression "(iVar14 != local_9c[8])" ( (binary_expression "iVar14 != local_9c[8]" identifier != (subscript_expression "local_9c[8]" identifier [ number_literal ])) )) (compound_statement "{\n                  uStack_6c = local_9c[0x11];\n                }" { (expression_statement "uStack_6c = local_9c[0x11];" (assignment_expression "uStack_6c = local_9c[0x11]" identifier = (subscript_expression "local_9c[0x11]" identifier [ number_literal ])) ;) })) (if_statement "if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }" if (parenthesized_expression "(0 < (int)uStack_6c)" ( (binary_expression "0 < (int)uStack_6c" number_literal < (cast_expression "(int)uStack_6c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }" { (expression_statement "bVar22 = (byte)uStack_6c & 0x1f;" (assignment_expression "bVar22 = (byte)uStack_6c & 0x1f" identifier = (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar15 = 1 << ((byte)uStack_6c & 0x1f);" (assignment_expression "uVar15 = 1 << ((byte)uStack_6c & 0x1f)" identifier = (binary_expression "1 << ((byte)uStack_6c & 0x1f)" number_literal << (parenthesized_expression "((byte)uStack_6c & 0x1f)" ( (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) (expression_statement "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;" (assignment_expression "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22" identifier = (binary_expression "0 << bVar22 | 1U >> 0x20 - bVar22" (binary_expression "0 << bVar22" number_literal << identifier) | (binary_expression "1U >> 0x20 - bVar22" number_literal >> (binary_expression "0x20 - bVar22" number_literal - identifier)))) ;) (if_statement "if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" if (parenthesized_expression "((uStack_6c & 0x20) != 0)" ( (binary_expression "(uStack_6c & 0x20) != 0" (parenthesized_expression "(uStack_6c & 0x20)" ( (binary_expression "uStack_6c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = uVar15;" (assignment_expression "uVar13 = uVar15" identifier = identifier) ;) })) (expression_statement "bVar31 = uStack_4c != 0;" (assignment_expression "bVar31 = uStack_4c != 0" identifier = (binary_expression "uStack_4c != 0" identifier != number_literal)) ;) (expression_statement "uVar15 = uStack_4c - 1;" (assignment_expression "uVar15 = uStack_4c - 1" identifier = (binary_expression "uStack_4c - 1" identifier - number_literal)) ;) (expression_statement "uStack_4c = uVar15 + uVar12 & -uVar12;" (assignment_expression "uStack_4c = uVar15 + uVar12 & -uVar12" identifier = (binary_expression "uVar15 + uVar12 & -uVar12" (binary_expression "uVar15 + uVar12" identifier + identifier) & (unary_expression "-uVar12" - identifier))) ;) (expression_statement "uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);" (assignment_expression "uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12)" identifier = (binary_expression "-(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12)" (unary_expression "-(uVar13 + (uVar12 != 0))" - (parenthesized_expression "(uVar13 + (uVar12 != 0))" ( (binary_expression "uVar13 + (uVar12 != 0)" identifier + (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) ))) ))) & (binary_expression "(uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12)" (binary_expression "(uStack_48 - 1) + (uint)bVar31 + uVar13" (binary_expression "(uStack_48 - 1) + (uint)bVar31" (parenthesized_expression "(uStack_48 - 1)" ( (binary_expression "uStack_48 - 1" identifier - number_literal) )) + (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) + identifier) + (cast_expression "(uint)CARRY4(uVar15,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar15,uVar12)" identifier (argument_list "(uVar15,uVar12)" ( identifier , identifier ))))))) ;) })) }) (else_clause "else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }" else (compound_statement "{\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }" { (expression_statement "bVar31 = CARRY4(uStack_4c,uStack_54);" (assignment_expression "bVar31 = CARRY4(uStack_4c,uStack_54)" identifier = (call_expression "CARRY4(uStack_4c,uStack_54)" identifier (argument_list "(uStack_4c,uStack_54)" ( identifier , identifier )))) ;) (expression_statement "uStack_4c = uStack_4c + uStack_54;" (assignment_expression "uStack_4c = uStack_4c + uStack_54" identifier = (binary_expression "uStack_4c + uStack_54" identifier + identifier)) ;) (expression_statement "uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;" (assignment_expression "uStack_48 = uStack_48 + iStack_50 + (uint)bVar31" identifier = (binary_expression "uStack_48 + iStack_50 + (uint)bVar31" (binary_expression "uStack_48 + iStack_50" identifier + identifier) + (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }))) (expression_statement "*(uint *)(puStack_84 + 0x24) = uStack_4c;" (assignment_expression "*(uint *)(puStack_84 + 0x24) = uStack_4c" (pointer_expression "*(uint *)(puStack_84 + 0x24)" * (cast_expression "(uint *)(puStack_84 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x24)" ( (binary_expression "puStack_84 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puStack_84 + 0x28) = uStack_48;" (assignment_expression "*(uint *)(puStack_84 + 0x28) = uStack_48" (pointer_expression "*(uint *)(puStack_84 + 0x28)" * (cast_expression "(uint *)(puStack_84 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x28)" ( (binary_expression "puStack_84 + 0x28" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto code_r0x0002263c;" goto statement_identifier ;) })) (if_statement "if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;" if (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) == 0)" ( (binary_expression "*(int *)(uStack_64 + 0x2c) == 0" (pointer_expression "*(int *)(uStack_64 + 0x2c)" * (cast_expression "(int *)(uStack_64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto code_r0x0002263c;" goto statement_identifier ;)) (if_statement "if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }" if (parenthesized_expression "(puStack_7c != (undefined4 *)0x0)" ( (binary_expression "puStack_7c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }" { (expression_statement "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);" (assignment_expression "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" * (cast_expression "(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) + 0x1c)" ( (binary_expression "*(int *)(uStack_64 + 0x2c) + 0x1c" (pointer_expression "*(int *)(uStack_64 + 0x2c)" * (cast_expression "(int *)(uStack_64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar14 + 0x1c);" (assignment_expression "uVar13 = *(uint *)(iVar14 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar14 + 0x20);" (assignment_expression "uVar12 = *(uint *)(iVar14 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x20)" * (cast_expression "(uint *)(iVar14 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(iVar14 + 0x24);" (assignment_expression "uVar15 = *(uint *)(iVar14 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x24)" * (cast_expression "(uint *)(iVar14 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "bVar22 = (byte)DAT_0009386c;" (assignment_expression "bVar22 = (byte)DAT_0009386c" identifier = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }" if (parenthesized_expression "(local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13))" ( (binary_expression "local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)" (binary_expression "local_34._4_4_ < uVar12" (field_expression "local_34._4_4_" identifier . field_identifier) < identifier) || (binary_expression "local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)" (binary_expression "local_34._4_4_ - uVar12" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier) < (call_expression "(uint)((uint)local_34 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < uVar13)" ( (binary_expression "(uint)local_34 < uVar13" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) )) (compound_statement "{\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }" { (expression_statement "uVar19 = *(uint *)(puStack_84 + 0x30);" (assignment_expression "uVar19 = *(uint *)(puStack_84 + 0x30)" identifier = (pointer_expression "*(uint *)(puStack_84 + 0x30)" * (cast_expression "(uint *)(puStack_84 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x30)" ( (binary_expression "puStack_84 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;" if (parenthesized_expression "(uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0)" ( (binary_expression "uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0" (binary_expression "uVar19 == 0" identifier == number_literal) && (binary_expression "*(uint *)(puStack_84 + 0x2c) == 0" (pointer_expression "*(uint *)(puStack_84 + 0x2c)" * (cast_expression "(uint *)(puStack_84 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x2c)" ( (binary_expression "puStack_84 + 0x2c" identifier + number_literal) )))) == number_literal)) )) (goto_statement "goto code_r0x000231ba;" goto statement_identifier ;)) (expression_statement "uVar26 = uVar19 >> (bVar22 & 0x1f);" (assignment_expression "uVar26 = uVar19 >> (bVar22 & 0x1f)" identifier = (binary_expression "uVar19 >> (bVar22 & 0x1f)" identifier >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar27 = uVar26;" (assignment_expression "uVar27 = uVar26" identifier = identifier) ;) (expression_statement "uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f)" identifier = (binary_expression "*(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f)" (binary_expression "*(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f)" (pointer_expression "*(uint *)(puStack_84 + 0x2c)" * (cast_expression "(uint *)(puStack_84 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x2c)" ( (binary_expression "puStack_84 + 0x2c" identifier + number_literal) )))) >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar19 << 0x20 - (bVar22 & 0x1f)" identifier << (binary_expression "0x20 - (bVar22 & 0x1f)" number_literal - (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "uVar19 = uVar26;" (assignment_expression "uVar19 = uVar26" identifier = identifier) ;) })) (expression_statement "lVar3 = lVar34 + CONCAT44(uVar27,uVar19);" (assignment_expression "lVar3 = lVar34 + CONCAT44(uVar27,uVar19)" identifier = (binary_expression "lVar34 + CONCAT44(uVar27,uVar19)" identifier + (call_expression "CONCAT44(uVar27,uVar19)" identifier (argument_list "(uVar27,uVar19)" ( identifier , identifier ))))) ;) (expression_statement "uVar19 = (uint)((ulonglong)lVar3 >> 0x20);" (assignment_expression "uVar19 = (uint)((ulonglong)lVar3 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;" if (parenthesized_expression "(uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))" ( (binary_expression "uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3)" (binary_expression "uVar12 < uVar19" identifier < identifier) || (binary_expression "uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3)" (binary_expression "uVar12 - uVar19" identifier - identifier) < (call_expression "(uint)(uVar13 < (uint)lVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < (uint)lVar3)" ( (binary_expression "uVar13 < (uint)lVar3" identifier < (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (goto_statement "goto code_r0x000231ba;" goto statement_identifier ;)) (if_statement "if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }" if (parenthesized_expression "(uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15)" ( (binary_expression "uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15" (binary_expression "uVar12 != *(uint *)(iVar14 + 0x28)" identifier != (pointer_expression "*(uint *)(iVar14 + 0x28)" * (cast_expression "(uint *)(iVar14 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) ))))) || (binary_expression "uVar13 != uVar15" identifier != identifier)) )) (compound_statement "{\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }" { (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" identifier = (subscript_expression "local_9c[6]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);" (assignment_expression "uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12)" identifier = (call_expression "dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12)" identifier (argument_list "(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12)" ( number_literal , (string_literal ""%P: warning: dot moved backwards before `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_00032ba0(uVar16,iVar14);" (call_expression "FUN_00032ba0(uVar16,iVar14)" identifier (argument_list "(uVar16,iVar14)" ( identifier , identifier ))) ;) (expression_statement "puStack_84 = (undefined *)local_9c[7];" (assignment_expression "puStack_84 = (undefined *)local_9c[7]" identifier = (cast_expression "(undefined *)local_9c[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x14);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x14)" identifier = (pointer_expression "*(uint *)(puStack_84 + 0x14)" * (cast_expression "(uint *)(puStack_84 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x14)" ( (binary_expression "puStack_84 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c = (undefined4 *)(uVar11 & 1);" (assignment_expression "puStack_7c = (undefined4 *)(uVar11 & 1)" identifier = (cast_expression "(undefined4 *)(uVar11 & 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 & 1)" ( (binary_expression "uVar11 & 1" identifier & number_literal) )))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (goto_statement "goto code_r0x0002263c;" goto statement_identifier ;) })) }) (else_clause "else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }" else (compound_statement "{\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }" { (labeled_statement "code_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" statement_identifier : (if_statement "if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" if (parenthesized_expression "(local_9c[0x14] == 1)" ( (binary_expression "local_9c[0x14] == 1" (subscript_expression "local_9c[0x14]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }" { (expression_statement "uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);" (assignment_expression "uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f)" identifier = (binary_expression "*(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar12 = uVar19;" (assignment_expression "uVar12 = uVar19" identifier = identifier) ;) (expression_statement "uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f)" identifier = (binary_expression "*(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f)" (binary_expression "*(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x2c)" * (cast_expression "(uint *)(iVar14 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) | (binary_expression "*(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) << (binary_expression "0x20 - (bVar22 & 0x1f)" number_literal - (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = uVar19;" (assignment_expression "uVar13 = uVar19" identifier = identifier) ;) })) (expression_statement "lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);" (assignment_expression "lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15)" identifier = (call_expression "CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15)" identifier (argument_list "(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15)" ( (binary_expression "uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15)" (binary_expression "uVar12 + *(uint *)(iVar14 + 0x28)" identifier + (pointer_expression "*(uint *)(iVar14 + 0x28)" * (cast_expression "(uint *)(iVar14 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar13,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar13,uVar15)" identifier (argument_list "(uVar13,uVar15)" ( identifier , identifier ))))) , (binary_expression "uVar13 + uVar15" identifier + identifier) )))) ;) }) (else_clause "else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" else (compound_statement "{\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" { (expression_statement "lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);" (assignment_expression "lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c)" identifier = (binary_expression "(lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c)" (parenthesized_expression "(lVar34 + *(longlong *)(iVar14 + 0x24))" ( (binary_expression "lVar34 + *(longlong *)(iVar14 + 0x24)" identifier + (pointer_expression "*(longlong *)(iVar14 + 0x24)" * (cast_expression "(longlong *)(iVar14 + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) ))))) )) - (pointer_expression "*(longlong *)(iVar14 + 0x1c)" * (cast_expression "(longlong *)(iVar14 + 0x1c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))))) ;) })))) (if_statement "if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }" if (parenthesized_expression "(0 < (int)uStack_6c)" ( (binary_expression "0 < (int)uStack_6c" number_literal < (cast_expression "(int)uStack_6c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }" { (expression_statement "bVar22 = (byte)uStack_6c & 0x1f;" (assignment_expression "bVar22 = (byte)uStack_6c & 0x1f" identifier = (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar15 = 1 << ((byte)uStack_6c & 0x1f);" (assignment_expression "uVar15 = 1 << ((byte)uStack_6c & 0x1f)" identifier = (binary_expression "1 << ((byte)uStack_6c & 0x1f)" number_literal << (parenthesized_expression "((byte)uStack_6c & 0x1f)" ( (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) (expression_statement "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;" (assignment_expression "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22" identifier = (binary_expression "0 << bVar22 | 1U >> 0x20 - bVar22" (binary_expression "0 << bVar22" number_literal << identifier) | (binary_expression "1U >> 0x20 - bVar22" number_literal >> (binary_expression "0x20 - bVar22" number_literal - identifier)))) ;) (if_statement "if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" if (parenthesized_expression "((uStack_6c & 0x20) != 0)" ( (binary_expression "(uStack_6c & 0x20) != 0" (parenthesized_expression "(uStack_6c & 0x20)" ( (binary_expression "uStack_6c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = uVar15;" (assignment_expression "uVar13 = uVar15" identifier = identifier) ;) })) (expression_statement "lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);" (assignment_expression "lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" identifier = (binary_expression "lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" identifier + (call_expression "CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" identifier (argument_list "((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" ( (binary_expression "(uVar13 - 1) + (uint)(uVar12 != 0)" (parenthesized_expression "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) )) + (call_expression "(uint)(uVar12 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )))) , (binary_expression "uVar12 - 1" identifier - number_literal) ))))) ;) (expression_statement "lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);" (assignment_expression "lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12)" identifier = (call_expression "CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12)" identifier (argument_list "(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12)" ( (binary_expression "-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20)" (unary_expression "-(uVar13 + (uVar12 != 0))" - (parenthesized_expression "(uVar13 + (uVar12 != 0))" ( (binary_expression "uVar13 + (uVar12 != 0)" identifier + (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) ))) ))) & (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (binary_expression "(uint)lVar3 & -uVar12" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-uVar12" - identifier)) )))) ;) })) (expression_statement "*(longlong *)(puStack_84 + 0x24) = lVar3;" (assignment_expression "*(longlong *)(puStack_84 + 0x24) = lVar3" (pointer_expression "*(longlong *)(puStack_84 + 0x24)" * (cast_expression "(longlong *)(puStack_84 + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x24)" ( (binary_expression "puStack_84 + 0x24" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) | number_literal)) ;) (goto_statement "goto code_r0x00022648;" goto statement_identifier ;) })) (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "uVar35 = FUN_00031200(local_9c[0xc],0,"load base");" (assignment_expression "uVar35 = FUN_00031200(local_9c[0xc],0,"load base")" identifier = (call_expression "FUN_00031200(local_9c[0xc],0,"load base")" identifier (argument_list "(local_9c[0xc],0,"load base")" ( (subscript_expression "local_9c[0xc]" identifier [ number_literal ]) , number_literal , (string_literal ""load base"" " string_content ") )))) ;) (expression_statement "puStack_84 = (undefined *)local_9c[7];" (assignment_expression "puStack_84 = (undefined *)local_9c[7]" identifier = (cast_expression "(undefined *)local_9c[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_9c[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x14);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x14)" identifier = (pointer_expression "*(uint *)(puStack_84 + 0x14)" * (cast_expression "(uint *)(puStack_84 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x14)" ( (binary_expression "puStack_84 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puStack_84 + 0x24) = uVar35;" (assignment_expression "*(undefined8 *)(puStack_84 + 0x24) = uVar35" (pointer_expression "*(undefined8 *)(puStack_84 + 0x24)" * (cast_expression "(undefined8 *)(puStack_84 + 0x24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x24)" ( (binary_expression "puStack_84 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "puStack_7c = (undefined4 *)(uVar11 & 1);" (assignment_expression "puStack_7c = (undefined4 *)(uVar11 & 1)" identifier = (cast_expression "(undefined4 *)(uVar11 & 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 & 1)" ( (binary_expression "uVar11 & 1" identifier & number_literal) )))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (labeled_statement "code_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" statement_identifier : (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) | number_literal)) ;)) (if_statement "if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(puStack_7c != (undefined4 *)0x0)" ( (binary_expression "puStack_7c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }" { (labeled_statement "code_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" statement_identifier : (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }" if (parenthesized_expression "((uVar11 & 0x402) != 0x400)" ( (binary_expression "(uVar11 & 0x402) != 0x400" (parenthesized_expression "(uVar11 & 0x402)" ( (binary_expression "uVar11 & 0x402" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }" { (if_statement "if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }" if (parenthesized_expression "(*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0)" ( (binary_expression "*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0" (binary_expression "*(int *)(puStack_84 + 0x30) == 0" (pointer_expression "*(int *)(puStack_84 + 0x30)" * (cast_expression "(int *)(puStack_84 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x30)" ( (binary_expression "puStack_84 + 0x30" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(puStack_84 + 0x2c) == 0" (pointer_expression "*(int *)(puStack_84 + 0x2c)" * (cast_expression "(int *)(puStack_84 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x2c)" ( (binary_expression "puStack_84 + 0x2c" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }" { (if_statement "if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }" if (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) == 0)" ( (binary_expression "*(int *)(uStack_64 + 0x2c) == 0" (pointer_expression "*(int *)(uStack_64 + 0x2c)" * (cast_expression "(int *)(uStack_64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }" { (if_statement "if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;" if (parenthesized_expression "(*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))" ( (binary_expression "*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24)" (binary_expression "*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28)" (pointer_expression "*(int *)(puStack_84 + 0x20)" * (cast_expression "(int *)(puStack_84 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x20)" ( (binary_expression "puStack_84 + 0x20" identifier + number_literal) )))) != (pointer_expression "*(int *)(puStack_84 + 0x28)" * (cast_expression "(int *)(puStack_84 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x28)" ( (binary_expression "puStack_84 + 0x28" identifier + number_literal) ))))) || (binary_expression "*(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24)" (pointer_expression "*(int *)(puStack_84 + 0x1c)" * (cast_expression "(int *)(puStack_84 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x1c)" ( (binary_expression "puStack_84 + 0x1c" identifier + number_literal) )))) != (pointer_expression "*(int *)(puStack_84 + 0x24)" * (cast_expression "(int *)(puStack_84 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x24)" ( (binary_expression "puStack_84 + 0x24" identifier + number_literal) )))))) )) (goto_statement "goto code_r0x00022a68;" goto statement_identifier ;)) }) (else_clause "else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }" else (compound_statement "{\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }" { (expression_statement "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);" (assignment_expression "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" * (cast_expression "(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) + 0x1c)" ( (binary_expression "*(int *)(uStack_64 + 0x2c) + 0x1c" (pointer_expression "*(int *)(uStack_64 + 0x2c)" * (cast_expression "(int *)(uStack_64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar14 + 0x20);" (assignment_expression "uVar13 = *(uint *)(iVar14 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x20)" * (cast_expression "(uint *)(iVar14 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;" if (parenthesized_expression "(uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       )" ( (binary_expression "uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13" (binary_expression "uVar13 <= local_34._4_4_" identifier <= (field_expression "local_34._4_4_" identifier . field_identifier)) && (binary_expression "(uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13" (call_expression "(uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < *(uint *)(iVar14 + 0x1c))" ( (binary_expression "(uint)local_34 < *(uint *)(iVar14 + 0x1c)" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) ))))) ))) <= (binary_expression "local_34._4_4_ - uVar13" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier))) )) (goto_statement "goto code_r0x00022a68;" goto statement_identifier ;)) }))) }) (else_clause "else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }" else (compound_statement "{\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }" { (labeled_statement "code_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }" statement_identifier : (if_statement "if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }" if (parenthesized_expression "((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2))" ( (binary_expression "(local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)" (parenthesized_expression "(local_9c[9] == 0)" ( (binary_expression "local_9c[9] == 0" (subscript_expression "local_9c[9]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((DAT_00093c80 & 3) != 2)" ( (binary_expression "(DAT_00093c80 & 3) != 2" (parenthesized_expression "(DAT_00093c80 & 3)" ( (binary_expression "DAT_00093c80 & 3" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }" { (expression_statement "*(int **)(uStack_64 + 0x2c) = local_9c;" (assignment_expression "*(int **)(uStack_64 + 0x2c) = local_9c" (pointer_expression "*(int **)(uStack_64 + 0x2c)" * (cast_expression "(int **)(uStack_64 + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uStack_64 + 0x2c)" ( (binary_expression "uStack_64 + 0x2c" identifier + number_literal) )))) = identifier) ;) }))) }))) })) })) }))) (if_statement "if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }" if (parenthesized_expression "((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0))" ( (binary_expression "(puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)" (parenthesized_expression "(puStack_84 != puVar6 + 0x180)" ( (binary_expression "puStack_84 != puVar6 + 0x180" identifier != (binary_expression "puVar6 + 0x180" identifier + number_literal)) )) && (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 8) == 0)" ( (binary_expression "(*(byte *)(local_9c + 0x15) & 8) == 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 8)" ( (binary_expression "*(byte *)(local_9c + 0x15) & 8" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }" { (if_statement "if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }" if (parenthesized_expression "((uVar11 & 0x402) == 0x400)" ( (binary_expression "(uVar11 & 0x402) == 0x400" (parenthesized_expression "(uVar11 & 0x402)" ( (binary_expression "uVar11 & 0x402" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }" { (expression_statement "puStack_7c = (undefined4 *)0x0;" (assignment_expression "puStack_7c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_78 = 0;" (assignment_expression "uStack_78 = 0" identifier = number_literal) ;) (if_statement "if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;" if (parenthesized_expression "((DAT_00093c80 & 3) == 2)" ( (binary_expression "(DAT_00093c80 & 3) == 2" (parenthesized_expression "(DAT_00093c80 & 3)" ( (binary_expression "DAT_00093c80 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto code_r0x000226bf;" goto statement_identifier ;)) }) (else_clause "else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }" else (compound_statement "{\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }" { (labeled_statement "code_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;" statement_identifier : (expression_statement "bVar22 = (byte)DAT_0009386c & 0x1f;" (assignment_expression "bVar22 = (byte)DAT_0009386c & 0x1f" identifier = (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;)) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f)" identifier = (binary_expression "*(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f)" (pointer_expression "*(uint *)(puStack_84 + 0x30)" * (cast_expression "(uint *)(puStack_84 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x30)" ( (binary_expression "puStack_84 + 0x30" identifier + number_literal) )))) >> (parenthesized_expression "((byte)DAT_0009386c & 0x1f)" ( (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);" (assignment_expression "puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22)" identifier = (cast_expression "(undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22)" ( (binary_expression "*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22" (binary_expression "*(uint *)(puStack_84 + 0x2c) >> bVar22" (pointer_expression "*(uint *)(puStack_84 + 0x2c)" * (cast_expression "(uint *)(puStack_84 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x2c)" ( (binary_expression "puStack_84 + 0x2c" identifier + number_literal) )))) >> identifier) | (binary_expression "*(uint *)(puStack_84 + 0x30) << 0x20 - bVar22" (pointer_expression "*(uint *)(puStack_84 + 0x30)" * (cast_expression "(uint *)(puStack_84 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_84 + 0x30)" ( (binary_expression "puStack_84 + 0x30" identifier + number_literal) )))) << (binary_expression "0x20 - bVar22" number_literal - identifier))) )))) ;) (expression_statement "uStack_78 = uVar11;" (assignment_expression "uStack_78 = uVar11" identifier = identifier) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }" { (expression_statement "uStack_78 = 0;" (assignment_expression "uStack_78 = 0" identifier = number_literal) ;) (expression_statement "puStack_7c = (undefined4 *)uVar11;" (assignment_expression "puStack_7c = (undefined4 *)uVar11" identifier = (cast_expression "(undefined4 *)uVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }))) (expression_statement "local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);" (assignment_expression "local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c)" identifier = (binary_expression "lVar34 + CONCAT44(uStack_78,puStack_7c)" identifier + (call_expression "CONCAT44(uStack_78,puStack_7c)" identifier (argument_list "(uStack_78,puStack_7c)" ( identifier , identifier ))))) ;) (if_statement "if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }" if (parenthesized_expression "(local_9c[0xd] != 0)" ( (binary_expression "local_9c[0xd] != 0" (subscript_expression "local_9c[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }" { (expression_statement "FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);" (call_expression "FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34)" identifier (argument_list "(local_9c[0xd],puVar6 + 0x180,&local_34)" ( (subscript_expression "local_9c[0xd]" identifier [ number_literal ]) , (binary_expression "puVar6 + 0x180" identifier + number_literal) , (pointer_expression "&local_34" & identifier) ))) ;) })) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }" if (parenthesized_expression "((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0))" ( (binary_expression "(local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)" (parenthesized_expression "(local_9c[8] != 0)" ( (binary_expression "local_9c[8] != 0" (subscript_expression "local_9c[8]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)" ( (comma_expression "iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0" (assignment_expression "iVar14 = local_9c[7]" identifier = (subscript_expression "local_9c[7]" identifier [ number_literal ])) , (binary_expression "(*(byte *)(iVar14 + 0x14) & 3) != 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x14) & 3)" ( (binary_expression "*(byte *)(iVar14 + 0x14) & 3" (pointer_expression "*(byte *)(iVar14 + 0x14)" * (cast_expression "(byte *)(iVar14 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }" { (expression_statement "*(longlong *)(local_9c[8] + 0x24) = local_34;" (assignment_expression "*(longlong *)(local_9c[8] + 0x24) = local_34" (pointer_expression "*(longlong *)(local_9c[8] + 0x24)" * (cast_expression "(longlong *)(local_9c[8] + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c[8] + 0x24)" ( (binary_expression "local_9c[8] + 0x24" (subscript_expression "local_9c[8]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (if_statement "if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }" { (expression_statement "FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));" (call_expression "FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20))" identifier (argument_list "(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20))" ( (pointer_expression "*(undefined4 *)(iVar14 + 0x1c)" * (cast_expression "(undefined4 *)(iVar14 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar14 + 0x20)" * (cast_expression "(undefined4 *)(iVar14 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar14 = local_9c[9];" (assignment_expression "iVar14 = local_9c[9]" identifier = (subscript_expression "local_9c[9]" identifier [ number_literal ])) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }" if (parenthesized_expression "(((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0))))" ( (binary_expression "((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))" (parenthesized_expression "((iVar14 != 0) && (iVar14 != local_9c[8]))" ( (binary_expression "(iVar14 != 0) && (iVar14 != local_9c[8])" (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar14 != local_9c[8])" ( (binary_expression "iVar14 != local_9c[8]" identifier != (subscript_expression "local_9c[8]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))" ( (parenthesized_expression "(iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0))" ( (comma_expression "iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)" (assignment_expression "iVar10 = local_9c[7]" identifier = (subscript_expression "local_9c[7]" identifier [ number_literal ])) , (binary_expression "(*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)" (binary_expression "(*(byte *)(iVar10 + 0x14) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x14) & 2)" ( (binary_expression "*(byte *)(iVar10 + 0x14) & 2" (pointer_expression "*(byte *)(iVar10 + 0x14)" * (cast_expression "(byte *)(iVar10 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 0x40) != 0)" ( (binary_expression "(*(byte *)(local_9c + 0x15) & 0x40) != 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 0x40)" ( (binary_expression "*(byte *)(local_9c + 0x15) & 0x40" (pointer_expression "*(byte *)(local_9c + 0x15)" * (cast_expression "(byte *)(local_9c + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x15)" ( (binary_expression "local_9c + 0x15" identifier + number_literal) )))) & number_literal) )) != number_literal) )))) )) ))) )) (compound_statement "{\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }" { (expression_statement "uVar11 = *(uint *)(iVar10 + 0x24);" (assignment_expression "uVar11 = *(uint *)(iVar10 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x24)" * (cast_expression "(uint *)(iVar10 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x24)" ( (binary_expression "iVar10 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(iVar10 + 0x28);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x28)" identifier = (pointer_expression "*(int *)(iVar10 + 0x28)" * (cast_expression "(int *)(iVar10 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x28)" ( (binary_expression "iVar10 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11" (pointer_expression "*(uint *)(iVar14 + 0x24)" * (cast_expression "(uint *)(iVar14 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) )))) = (binary_expression "(int)puStack_7c + uVar11" (cast_expression "(int)puStack_7c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "*(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);" (assignment_expression "*(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11)" (pointer_expression "*(uint *)(iVar14 + 0x28)" * (cast_expression "(uint *)(iVar14 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))) = (binary_expression "uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11)" (binary_expression "uStack_78 + iVar10" identifier + identifier) + (cast_expression "(uint)CARRY4((uint)puStack_7c,uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)puStack_7c,uVar11)" identifier (argument_list "((uint)puStack_7c,uVar11)" ( (cast_expression "(uint)puStack_7c" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))))) ;) (if_statement "if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }" { (expression_statement "FUN_0001f1f0(uVar11,iVar10);" (call_expression "FUN_0001f1f0(uVar11,iVar10)" identifier (argument_list "(uVar11,iVar10)" ( identifier , identifier ))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })) })) })) })) }))) })) })) (break_statement "break;" break ;)) (case_statement "case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;" case number_literal : (expression_statement "iVar14 = local_9c[2];" (assignment_expression "iVar14 = local_9c[2]" identifier = (subscript_expression "local_9c[2]" identifier [ number_literal ])) ;) (expression_statement "iRam00093e8c = 0;" (assignment_expression "iRam00093e8c = 0" identifier = number_literal) ;) (expression_statement "uStack_24 = lVar34;" (assignment_expression "uStack_24 = lVar34" identifier = identifier) ;) (expression_statement "FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);" (call_expression "FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24)" identifier (argument_list "(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24)" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x1c)" * (cast_expression "(undefined4 *)(param_2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) , (pointer_expression "&uStack_24" & identifier) ))) ;) (expression_statement "piVar25 = DAT_00093e90;" (assignment_expression "piVar25 = DAT_00093e90" identifier = identifier) ;) (expression_statement "piVar8 = DAT_00093e94;" (assignment_expression "piVar8 = DAT_00093e94" identifier = identifier) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" if (parenthesized_expression "(iRam00093e8c == 1)" ( (binary_expression "iRam00093e8c == 1" identifier == number_literal) )) (compound_statement "{\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }" { (expression_statement "piVar25 = local_9c;" (assignment_expression "piVar25 = local_9c" identifier = identifier) ;) (if_statement "if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }" if (parenthesized_expression "((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c))" ( (binary_expression "(DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)" (parenthesized_expression "(DAT_00093e90 != (int *)0x0)" ( (binary_expression "DAT_00093e90 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)" ( (comma_expression "piVar25 = DAT_00093e90, DAT_00093e90 != local_9c" (assignment_expression "piVar25 = DAT_00093e90" identifier = identifier) , (binary_expression "DAT_00093e90 != local_9c" identifier != identifier)) ))) )) (compound_statement "{\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }" { (expression_statement "uVar16 = 0x137c;" (assignment_expression "uVar16 = 0x137c" identifier = number_literal) ;) (goto_statement "goto code_r0x0002296b;" goto statement_identifier ;) })) }) (else_clause "else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" else (if_statement "if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" if (parenthesized_expression "(((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c))" ( (binary_expression "((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)" (parenthesized_expression "((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0))" ( (binary_expression "(iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)" (parenthesized_expression "(iRam00093e8c == 2)" ( (binary_expression "iRam00093e8c == 2" identifier == number_literal) )) && (parenthesized_expression "(piVar8 = local_9c, DAT_00093e94 != (int *)0x0)" ( (comma_expression "piVar8 = local_9c, DAT_00093e94 != (int *)0x0" (assignment_expression "piVar8 = local_9c" identifier = identifier) , (binary_expression "DAT_00093e94 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)" ( (comma_expression "piVar8 = DAT_00093e94, DAT_00093e94 != local_9c" (assignment_expression "piVar8 = DAT_00093e94" identifier = identifier) , (binary_expression "DAT_00093e94 != local_9c" identifier != identifier)) ))) )) (compound_statement "{\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" { (expression_statement "uVar16 = 0x1385;" (assignment_expression "uVar16 = 0x1385" identifier = number_literal) ;) (labeled_statement "code_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);" statement_identifier : (expression_statement "FUN_00032bf0("../../ld/ldlang.c",uVar16);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",uVar16)" identifier (argument_list "("../../ld/ldlang.c",uVar16)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , identifier ))) ;)) (expression_statement "piVar25 = DAT_00093e90;" (assignment_expression "piVar25 = DAT_00093e90" identifier = identifier) ;) (expression_statement "piVar8 = DAT_00093e94;" (assignment_expression "piVar8 = DAT_00093e94" identifier = identifier) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })))) (expression_statement "DAT_00093e94 = piVar8;" (assignment_expression "DAT_00093e94 = piVar8" identifier = identifier) ;) (expression_statement "DAT_00093e90 = piVar25;" (assignment_expression "DAT_00093e90 = piVar25" identifier = identifier) ;) (expression_statement "iRam00093e8c = 0;" (assignment_expression "iRam00093e8c = 0" identifier = number_literal) ;) (if_statement "if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }" if (parenthesized_expression "(((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0'))))" ( (binary_expression "((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))" (parenthesized_expression "((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4)" ( (binary_expression "(*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4" (parenthesized_expression "(*(uint *)(iVar14 + 0xc) & 0xfffffffd)" ( (binary_expression "*(uint *)(iVar14 + 0xc) & 0xfffffffd" (pointer_expression "*(uint *)(iVar14 + 0xc)" * (cast_expression "(uint *)(iVar14 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xc)" ( (binary_expression "iVar14 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))" ( (parenthesized_expression "(**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0'))" ( (binary_expression "**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')" (binary_expression "**(char **)(iVar14 + 0x10) != '.'" (pointer_expression "**(char **)(iVar14 + 0x10)" * (pointer_expression "*(char **)(iVar14 + 0x10)" * (cast_expression "(char **)(iVar14 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x10)" ( (binary_expression "iVar14 + 0x10" identifier + number_literal) ))))) != (char_literal "'.'" ' character ')) || (parenthesized_expression "((*(char **)(iVar14 + 0x10))[1] != '\0')" ( (binary_expression "(*(char **)(iVar14 + 0x10))[1] != '\0'" (subscript_expression "(*(char **)(iVar14 + 0x10))[1]" (parenthesized_expression "(*(char **)(iVar14 + 0x10))" ( (pointer_expression "*(char **)(iVar14 + 0x10)" * (cast_expression "(char **)(iVar14 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x10)" ( (binary_expression "iVar14 + 0x10" identifier + number_literal) )))) )) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }" { (expression_statement "*(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;" (assignment_expression "*(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10" (pointer_expression "*(byte *)(param_2 + 0x54)" * (cast_expression "(byte *)(param_2 + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_2 + 0x54) | 0x10" (pointer_expression "*(byte *)(param_2 + 0x54)" * (cast_expression "(byte *)(param_2 + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) | number_literal)) ;) })) (if_statement "if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }" if (parenthesized_expression "((*(byte *)(param_2 + 0x54) & 8) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0x54) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x54) & 8)" ( (binary_expression "*(byte *)(param_2 + 0x54) & 8" (pointer_expression "*(byte *)(param_2 + 0x54)" * (cast_expression "(byte *)(param_2 + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }" { (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (if_statement "if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" if (parenthesized_expression "(DAT_00093c2c == param_2)" ( (binary_expression "DAT_00093c2c == param_2" identifier == identifier) )) (compound_statement "{\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }" { (expression_statement "iVar14 = FUN_00021e10("*default*",0);" (assignment_expression "iVar14 = FUN_00021e10("*default*",0)" identifier = (call_expression "FUN_00021e10("*default*",0)" identifier (argument_list "("*default*",0)" ( (string_literal ""*default*"" " string_content ") , number_literal )))) ;) (expression_statement "*(longlong *)(iVar14 + 0x24) = uStack_24;" (assignment_expression "*(longlong *)(iVar14 + 0x24) = uStack_24" (pointer_expression "*(longlong *)(iVar14 + 0x24)" * (cast_expression "(longlong *)(iVar14 + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar34 = uStack_24;" (assignment_expression "lVar34 = uStack_24" identifier = identifier) ;) }) (else_clause "else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" else (if_statement "if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" if (parenthesized_expression "(lVar34 != uStack_24)" ( (binary_expression "lVar34 != uStack_24" identifier != identifier) )) (compound_statement "{\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" { (expression_statement "uVar11 = (uint)(uStack_24 - lVar34);" (assignment_expression "uVar11 = (uint)(uStack_24 - lVar34)" identifier = (call_expression "(uint)(uStack_24 - lVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_24 - lVar34)" ( (binary_expression "uStack_24 - lVar34" identifier - identifier) )))) ;) (expression_statement "bVar22 = (byte)DAT_0009386c & 0x1f;" (assignment_expression "bVar22 = (byte)DAT_0009386c & 0x1f" identifier = (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);" (assignment_expression "uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f)" identifier = (binary_expression "uVar11 << ((byte)DAT_0009386c & 0x1f)" identifier << (parenthesized_expression "((byte)DAT_0009386c & 0x1f)" ( (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar13 = uVar12;" (assignment_expression "uVar13 = uVar12" identifier = identifier) ;) (expression_statement "uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;" (assignment_expression "uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22" identifier = (binary_expression "(int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22" (binary_expression "(int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22" (cast_expression "(int)((ulonglong)(uStack_24 - lVar34) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(uStack_24 - lVar34) >> 0x20)" ( (binary_expression "(ulonglong)(uStack_24 - lVar34) >> 0x20" (call_expression "(ulonglong)(uStack_24 - lVar34)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uStack_24 - lVar34)" ( (binary_expression "uStack_24 - lVar34" identifier - identifier) ))) >> number_literal) ))) << identifier) | (binary_expression "uVar11 >> 0x20 - bVar22" identifier >> (binary_expression "0x20 - bVar22" number_literal - identifier)))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) })) (expression_statement "FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);" (call_expression "FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34)" identifier (argument_list "(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34)" ( identifier , identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x1c)" * (cast_expression "(undefined4 *)(param_2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "local_9c = (int *)*local_9c;" (assignment_expression "local_9c = (int *)*local_9c" identifier = (cast_expression "(int *)*local_9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_9c" * identifier))) ;) (expression_statement "lVar34 = uStack_24;" (assignment_expression "lVar34 = uStack_24" identifier = identifier) ;) (if_statement "if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }" if (parenthesized_expression "((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5))))" ( (binary_expression "(*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))" (parenthesized_expression "(*(int *)(param_2 + 0x50) != 3)" ( (binary_expression "*(int *)(param_2 + 0x50) != 3" (pointer_expression "*(int *)(param_2 + 0x50)" * (cast_expression "(int *)(param_2 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))" ( (parenthesized_expression "(*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5))" ( (binary_expression "*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)" (binary_expression "*(int *)(param_2 + 0x50) != 2" (pointer_expression "*(int *)(param_2 + 0x50)" * (cast_expression "(int *)(param_2 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) != number_literal) || (parenthesized_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00093cb4 + 4) + 4)" ( (binary_expression "*(int *)(DAT_00093cb4 + 4) + 4" (pointer_expression "*(int *)(DAT_00093cb4 + 4)" * (cast_expression "(int *)(DAT_00093cb4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00093cb4 + 4)" ( (binary_expression "DAT_00093cb4 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) ))) )) (compound_statement "{\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }" { (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x14)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x14" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 | 1;" (assignment_expression "*puVar1 = *puVar1 | 1" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 1" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) })) })))) })) (break_statement "break;" break ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0xe:\n    goto code_r0x0002200c;" case number_literal : (goto_statement "goto code_r0x0002200c;" goto statement_identifier ;)) (case_statement "case 4:\n    goto code_r0x00022351;" case number_literal : (goto_statement "goto code_r0x00022351;" goto statement_identifier ;)) (case_statement "case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;" case number_literal : (if_statement "if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }" if (parenthesized_expression "(param_5 != (undefined4 *)0x0)" ( (binary_expression "param_5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }" { (expression_statement "iVar14 = *(int *)(local_9c[2] + 0xac);" (assignment_expression "iVar14 = *(int *)(local_9c[2] + 0xac)" identifier = (pointer_expression "*(int *)(local_9c[2] + 0xac)" * (cast_expression "(int *)(local_9c[2] + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c[2] + 0xac)" ( (binary_expression "local_9c[2] + 0xac" (subscript_expression "local_9c[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);" (assignment_expression "iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24)" identifier = (call_expression "(**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24)" (parenthesized_expression "(**(code **)(*(int *)(iVar14 + 4) + 0x164))" ( (pointer_expression "**(code **)(*(int *)(iVar14 + 4) + 0x164)" * (pointer_expression "*(code **)(*(int *)(iVar14 + 4) + 0x164)" * (cast_expression "(code **)(*(int *)(iVar14 + 4) + 0x164)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar14 + 4) + 0x164)" ( (binary_expression "*(int *)(iVar14 + 4) + 0x164" (pointer_expression "*(int *)(iVar14 + 4)" * (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24)" ( identifier , (subscript_expression "local_9c[2]" identifier [ number_literal ]) , identifier , (pointer_expression "&uStack_24" & identifier) )))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) (if_statement "if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }" { (expression_statement "uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);" (assignment_expression "uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: can\'t relax section: %E\n",5)" identifier (argument_list "(0,"%F%P: can\'t relax section: %E\n",5)" ( number_literal , (string_literal ""%F%P: can\'t relax section: %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032ba0(uVar16);" (call_expression "FUN_00032ba0(uVar16)" identifier (argument_list "(uVar16)" ( identifier ))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;) })) (if_statement "if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }" if (parenthesized_expression "((int)uStack_24 != 0)" ( (binary_expression "(int)uStack_24 != 0" (cast_expression "(int)uStack_24" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n        *param_5 = 1;\n      }" { (expression_statement "*param_5 = 1;" (assignment_expression "*param_5 = 1" (pointer_expression "*param_5" * identifier) = number_literal) ;) })) })) (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar14 = *(int *)(*param_1 + 8);" (assignment_expression "iVar14 = *(int *)(*param_1 + 8)" identifier = (pointer_expression "*(int *)(*param_1 + 8)" * (cast_expression "(int *)(*param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar10 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" if (parenthesized_expression "((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200)" ( (binary_expression "(*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200" (parenthesized_expression "(*(ushort *)(iVar14 + 0x18) & 0x380)" ( (binary_expression "*(ushort *)(iVar14 + 0x18) & 0x380" (pointer_expression "*(ushort *)(iVar14 + 0x18)" * (cast_expression "(ushort *)(iVar14 + 0x18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x18)" ( (binary_expression "iVar14 + 0x18" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }" { (expression_statement "uVar11 = *(uint *)(iVar10 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(iVar10 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x1c)" * (cast_expression "(uint *)(iVar10 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));" (assignment_expression "*(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (pointer_expression "*(uint *)(iVar14 + 0x50)" * (cast_expression "(uint *)(iVar14 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x50)" ( (binary_expression "iVar14 + 0x50" identifier + number_literal) )))) = (binary_expression "(*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20))" ( (binary_expression "*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)" (pointer_expression "*(int *)(iVar14 + 0x20)" * (cast_expression "(int *)(iVar14 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) ))))) )) - (call_expression "(uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" ( (binary_expression "*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))) < (pointer_expression "*(uint *)(iVar10 + 0x1c)" * (cast_expression "(uint *)(iVar10 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11" (pointer_expression "*(uint *)(iVar14 + 0x4c)" * (cast_expression "(uint *)(iVar14 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x4c)" ( (binary_expression "iVar14 + 0x4c" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar14 + 0x1c) - uVar11" (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))) - identifier)) ;) }) (else_clause "else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" else (if_statement "if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" if (parenthesized_expression "(((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0))" ( (binary_expression "((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)" (parenthesized_expression "((*(byte *)(iVar14 + 0x15) & 0x80) == 0)" ( (binary_expression "(*(byte *)(iVar14 + 0x15) & 0x80) == 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x15) & 0x80)" ( (binary_expression "*(byte *)(iVar14 + 0x15) & 0x80" (pointer_expression "*(byte *)(iVar14 + 0x15)" * (cast_expression "(byte *)(iVar14 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x15)" ( (binary_expression "iVar14 + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(param_2 + 0x54) & 8) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0x54) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x54) & 8)" ( (binary_expression "*(byte *)(param_2 + 0x54) & 8" (pointer_expression "*(byte *)(param_2 + 0x54)" * (cast_expression "(byte *)(param_2 + 0x54)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }" { (expression_statement "uVar11 = *(uint *)(param_2 + 0x40);" (assignment_expression "uVar11 = *(uint *)(param_2 + 0x40)" identifier = (pointer_expression "*(uint *)(param_2 + 0x40)" * (cast_expression "(uint *)(param_2 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x40)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }" if (parenthesized_expression "(uVar11 == 0xffffffff)" ( (binary_expression "uVar11 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }" { (expression_statement "uVar11 = *(uint *)(iVar14 + 0x58);" (assignment_expression "uVar11 = *(uint *)(iVar14 + 0x58)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x58)" * (cast_expression "(uint *)(iVar14 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }" else (compound_statement "{\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }" { (expression_statement "*(uint *)(iVar14 + 0x58) = uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x58) = uVar11" (pointer_expression "*(uint *)(iVar14 + 0x58)" * (cast_expression "(uint *)(iVar14 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }" if (parenthesized_expression "(*(uint *)(iVar10 + 0x58) < uVar11)" ( (binary_expression "*(uint *)(iVar10 + 0x58) < uVar11" (pointer_expression "*(uint *)(iVar10 + 0x58)" * (cast_expression "(uint *)(iVar10 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x58)" ( (binary_expression "iVar10 + 0x58" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }" { (expression_statement "*(uint *)(iVar10 + 0x58) = uVar11;" (assignment_expression "*(uint *)(iVar10 + 0x58) = uVar11" (pointer_expression "*(uint *)(iVar10 + 0x58)" * (cast_expression "(uint *)(iVar10 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x58)" ( (binary_expression "iVar10 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar11 = *(uint *)(iVar14 + 0x58);" (assignment_expression "uVar11 = *(uint *)(iVar14 + 0x58)" identifier = (pointer_expression "*(uint *)(iVar14 + 0x58)" * (cast_expression "(uint *)(iVar14 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) ))))) ;) })) (expression_statement "bVar22 = (byte)uVar11 & 0x1f;" (assignment_expression "bVar22 = (byte)uVar11 & 0x1f" identifier = (binary_expression "(byte)uVar11 & 0x1f" (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar15 = 1 << ((byte)uVar11 & 0x1f);" (assignment_expression "uVar15 = 1 << ((byte)uVar11 & 0x1f)" identifier = (binary_expression "1 << ((byte)uVar11 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar11 & 0x1f)" ( (binary_expression "(byte)uVar11 & 0x1f" (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar13 = uVar15;" (assignment_expression "uVar13 = uVar15" identifier = identifier) ;) (expression_statement "uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;" (assignment_expression "uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22" identifier = (binary_expression "0 << bVar22 | 1U >> 0x20 - bVar22" (binary_expression "0 << bVar22" number_literal << identifier) | (binary_expression "1U >> 0x20 - bVar22" number_literal >> (binary_expression "0x20 - bVar22" number_literal - identifier)))) ;) (if_statement "if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }" if (parenthesized_expression "((uVar11 & 0x20) != 0)" ( (binary_expression "(uVar11 & 0x20) != 0" (parenthesized_expression "(uVar11 & 0x20)" ( (binary_expression "uVar11 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) })) (expression_statement "lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);" (assignment_expression "lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13)" identifier = (binary_expression "lVar34 + -1 + CONCAT44(uVar12,uVar13)" (binary_expression "lVar34 + -1" identifier + number_literal) + (call_expression "CONCAT44(uVar12,uVar13)" identifier (argument_list "(uVar12,uVar13)" ( identifier , identifier ))))) ;) (expression_statement "uVar15 = (uint)lVar3 & -uVar13;" (assignment_expression "uVar15 = (uint)lVar3 & -uVar13" identifier = (binary_expression "(uint)lVar3 & -uVar13" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-uVar13" - identifier))) ;) (expression_statement "uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);" (assignment_expression "uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20)" identifier = (binary_expression "-(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20)" (unary_expression "-(uVar12 + (uVar13 != 0))" - (parenthesized_expression "(uVar12 + (uVar13 != 0))" ( (binary_expression "uVar12 + (uVar13 != 0)" identifier + (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) ))) ))) & (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) (expression_statement "uVar11 = uVar15 - (uint)local_34;" (assignment_expression "uVar11 = uVar15 - (uint)local_34" identifier = (binary_expression "uVar15 - (uint)local_34" identifier - (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);" (assignment_expression "iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34)" identifier = (binary_expression "(uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34)" (parenthesized_expression "(uVar13 - local_34._4_4_)" ( (binary_expression "uVar13 - local_34._4_4_" identifier - (field_expression "local_34._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)(uVar15 < (uint)local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 < (uint)local_34)" ( (binary_expression "uVar15 < (uint)local_34" identifier < (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) ;) (expression_statement "lVar3 = lVar34;" (assignment_expression "lVar3 = lVar34" identifier = identifier) ;) (if_statement "if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }" if (parenthesized_expression "(iVar24 != 0 || uVar11 != 0)" ( (binary_expression "iVar24 != 0 || uVar11 != 0" (binary_expression "iVar24 != 0" identifier != number_literal) || (binary_expression "uVar11 != 0" identifier != number_literal)) )) (compound_statement "{\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }" { (expression_statement "puStack_7c._0_1_ = (byte)DAT_0009386c;" (assignment_expression "puStack_7c._0_1_ = (byte)DAT_0009386c" (field_expression "puStack_7c._0_1_" identifier . field_identifier) = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar19 = uVar11 << ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "uVar11 << ((byte)puStack_7c & 0x1f)" identifier << (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar19;" (assignment_expression "uVar12 = uVar19" identifier = identifier) ;) (expression_statement "uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (binary_expression "iVar24 << ((byte)puStack_7c & 0x1f)" identifier << (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" identifier >> (binary_expression "0x20 - ((byte)puStack_7c & 0x1f)" number_literal - (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }" if (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" ( (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" ( (binary_expression "DAT_0009386c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar19;" (assignment_expression "uVar11 = uVar19" identifier = identifier) ;) })) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" identifier = identifier) ;) (expression_statement "FUN_00021870(uVar12,uVar11,iVar10,lVar34);" (call_expression "FUN_00021870(uVar12,uVar11,iVar10,lVar34)" identifier (argument_list "(uVar12,uVar11,iVar10,lVar34)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "lVar3 = CONCAT44(uVar13,uVar15);" (assignment_expression "lVar3 = CONCAT44(uVar13,uVar15)" identifier = (call_expression "CONCAT44(uVar13,uVar15)" identifier (argument_list "(uVar13,uVar15)" ( identifier , identifier )))) ;) })) (expression_statement "uVar13 = DAT_0009386c;" (assignment_expression "uVar13 = DAT_0009386c" identifier = identifier) ;) (expression_statement "lVar5 = *(longlong *)(iVar10 + 0x1c);" (assignment_expression "lVar5 = *(longlong *)(iVar10 + 0x1c)" identifier = (pointer_expression "*(longlong *)(iVar10 + 0x1c)" * (cast_expression "(longlong *)(iVar10 + 0x1c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c._0_1_ = (byte)DAT_0009386c;" (assignment_expression "puStack_7c._0_1_ = (byte)DAT_0009386c" (field_expression "puStack_7c._0_1_" identifier . field_identifier) = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;" (assignment_expression "*(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5" (pointer_expression "*(longlong *)(iVar14 + 0x4c)" * (cast_expression "(longlong *)(iVar14 + 0x4c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x4c)" ( (binary_expression "iVar14 + 0x4c" identifier + number_literal) )))) = (binary_expression "lVar3 - lVar5" identifier - identifier)) ;) (expression_statement "uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "*(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) >> (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) (expression_statement "uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "*(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f)" (binary_expression "*(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x2c)" * (cast_expression "(uint *)(iVar14 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) >> (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "*(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) << (binary_expression "0x20 - ((byte)puStack_7c & 0x1f)" number_literal - (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }" if (parenthesized_expression "((uVar13 & 0x20) != 0)" ( (binary_expression "(uVar13 & 0x20) != 0" (parenthesized_expression "(uVar13 & 0x20)" ( (binary_expression "uVar13 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar15;" (assignment_expression "uVar11 = uVar15" identifier = identifier) ;) })) (expression_statement "lVar4 = CONCAT44(uVar12,uVar11);" (assignment_expression "lVar4 = CONCAT44(uVar12,uVar11)" identifier = (call_expression "CONCAT44(uVar12,uVar11)" identifier (argument_list "(uVar12,uVar11)" ( identifier , identifier )))) ;) (expression_statement "lVar34 = lVar3 + lVar4;" (assignment_expression "lVar34 = lVar3 + lVar4" identifier = (binary_expression "lVar3 + lVar4" identifier + identifier)) ;) (if_statement "if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }" if (parenthesized_expression "((*(byte *)(iVar10 + 0x15) & 8) == 0)" ( (binary_expression "(*(byte *)(iVar10 + 0x15) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x15) & 8)" ( (binary_expression "*(byte *)(iVar10 + 0x15) & 8" (pointer_expression "*(byte *)(iVar10 + 0x15)" * (cast_expression "(byte *)(iVar10 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x15)" ( (binary_expression "iVar10 + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }" { (expression_statement "lVar5 = (lVar3 + lVar4) - lVar5;" (assignment_expression "lVar5 = (lVar3 + lVar4) - lVar5" identifier = (binary_expression "(lVar3 + lVar4) - lVar5" (parenthesized_expression "(lVar3 + lVar4)" ( (binary_expression "lVar3 + lVar4" identifier + identifier) )) - identifier)) ;) (expression_statement "uVar11 = (uint)lVar5;" (assignment_expression "uVar11 = (uint)lVar5" identifier = (cast_expression "(uint)lVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar15 = uVar11 << ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "uVar11 << ((byte)puStack_7c & 0x1f)" identifier << (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" identifier = identifier) ;) (expression_statement "uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" identifier = (binary_expression "(int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (binary_expression "(int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f)" (cast_expression "(int)((ulonglong)lVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar5 >> 0x20)" ( (binary_expression "(ulonglong)lVar5 >> 0x20" (cast_expression "(ulonglong)lVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" identifier >> (binary_expression "0x20 - ((byte)puStack_7c & 0x1f)" number_literal - (parenthesized_expression "((byte)puStack_7c & 0x1f)" ( (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }" if (parenthesized_expression "((uVar13 & 0x20) != 0)" ( (binary_expression "(uVar13 & 0x20) != 0" (parenthesized_expression "(uVar13 & 0x20)" ( (binary_expression "uVar13 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar15;" (assignment_expression "uVar11 = uVar15" identifier = identifier) ;) })) (expression_statement "*(uint *)(iVar10 + 0x30) = uVar11;" (assignment_expression "*(uint *)(iVar10 + 0x30) = uVar11" (pointer_expression "*(uint *)(iVar10 + 0x30)" * (cast_expression "(uint *)(iVar10 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar10 + 0x2c) = uVar12;" (assignment_expression "*(uint *)(iVar10 + 0x2c) = uVar12" (pointer_expression "*(uint *)(iVar10 + 0x2c)" * (cast_expression "(uint *)(iVar10 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar34 = lVar3 + lVar4;" (assignment_expression "lVar34 = lVar3 + lVar4" identifier = (binary_expression "lVar3 + lVar4" identifier + identifier)) ;) })) }) (else_clause "else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" else (compound_statement "{\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" { (expression_statement "uVar11 = *(uint *)(iVar10 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(iVar10 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x1c)" * (cast_expression "(uint *)(iVar10 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));" (assignment_expression "*(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (pointer_expression "*(uint *)(iVar14 + 0x50)" * (cast_expression "(uint *)(iVar14 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x50)" ( (binary_expression "iVar14 + 0x50" identifier + number_literal) )))) = (binary_expression "(local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(local_34._4_4_ - *(int *)(iVar10 + 0x20))" ( (binary_expression "local_34._4_4_ - *(int *)(iVar10 + 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) ))))) )) - (call_expression "(uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < *(uint *)(iVar10 + 0x1c))" ( (binary_expression "(uint)local_34 < *(uint *)(iVar10 + 0x1c)" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*(uint *)(iVar10 + 0x1c)" * (cast_expression "(uint *)(iVar10 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ))))) ;) (expression_statement "*(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11" (pointer_expression "*(uint *)(iVar14 + 0x4c)" * (cast_expression "(uint *)(iVar14 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x4c)" ( (binary_expression "iVar14 + 0x4c" identifier + number_literal) )))) = (binary_expression "(uint)local_34 - uVar11" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - identifier)) ;) }))))) (break_statement "break;" break ;)) (case_statement "case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;" case number_literal : (expression_statement "uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);" (assignment_expression "uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x1c)" * (cast_expression "(undefined4 *)(param_2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (goto_statement "goto code_r0x0002200c;" goto statement_identifier ;)) (case_statement "case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;" case number_literal : (expression_statement "local_9c[4] = *(int *)(param_2 + 0x1c);" (assignment_expression "local_9c[4] = *(int *)(param_2 + 0x1c)" (subscript_expression "local_9c[4]" identifier [ number_literal ]) = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;" case number_literal : (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x1c)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x1c" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);" (assignment_expression "iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(param_2 + 0x1c) + 0x20)" * (cast_expression "(int *)(*(int *)(param_2 + 0x1c) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x20)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "local_9c[7] = (uint)local_34 - *puVar1;" (assignment_expression "local_9c[7] = (uint)local_34 - *puVar1" (subscript_expression "local_9c[7]" identifier [ number_literal ]) = (binary_expression "(uint)local_34 - *puVar1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);" (assignment_expression "local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11)" (subscript_expression "local_9c[8]" identifier [ number_literal ]) = (binary_expression "(local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11)" (parenthesized_expression "(local_34._4_4_ - iVar14)" ( (binary_expression "local_34._4_4_ - iVar14" (field_expression "local_34._4_4_" identifier . field_identifier) - identifier) )) - (call_expression "(uint)((uint)local_34 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < uVar11)" ( (binary_expression "(uint)local_34 < uVar11" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) ;) (expression_statement "local_9c[6] = *(int *)(param_2 + 0x1c);" (assignment_expression "local_9c[6] = *(int *)(param_2 + 0x1c)" (subscript_expression "local_9c[6]" identifier [ number_literal ]) = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "FUN_000308d0(local_9c[3],puVar9,&local_34);" (call_expression "FUN_000308d0(local_9c[3],puVar9,&local_34)" identifier (argument_list "(local_9c[3],puVar9,&local_34)" ( (subscript_expression "local_9c[3]" identifier [ number_literal ]) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (if_statement "if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }" if (parenthesized_expression "(4 < local_9c[2] - 0x11aU)" ( (binary_expression "4 < local_9c[2] - 0x11aU" number_literal < (binary_expression "local_9c[2] - 0x11aU" (subscript_expression "local_9c[2]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }" { (expression_statement "FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);" (call_expression "FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT)" identifier (argument_list "("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal , (string_literal ""lang_size_sections_1"" " string_content ") , (pointer_expression "&__DT_PLTGOT" & identifier) ))) ;) })) (expression_statement "iVar14 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar14 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "bVar21 = (byte)DAT_0009386c;" (assignment_expression "bVar21 = (byte)DAT_0009386c" identifier = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar11 = 1 << (bVar21 & 0x1f);" (assignment_expression "uVar11 = 1 << (bVar21 & 0x1f)" identifier = (binary_expression "1 << (bVar21 & 0x1f)" number_literal << (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }" if (parenthesized_expression "(uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4))" ( (binary_expression "uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" identifier < (pointer_expression "*(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" * (cast_expression "(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" ( (binary_expression "&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4" (pointer_expression "&UNK_0004dc68" & identifier) + (binary_expression "(local_9c[2] - 0x11aU) * 4" (parenthesized_expression "(local_9c[2] - 0x11aU)" ( (binary_expression "local_9c[2] - 0x11aU" (subscript_expression "local_9c[2]" identifier [ number_literal ]) - number_literal) )) * number_literal)) ))))) )) (compound_statement "{\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }" { (expression_statement "uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);" (assignment_expression "uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" identifier = (pointer_expression "*(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" * (cast_expression "(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" ( (binary_expression "&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4" (pointer_expression "&UNK_0004dc68" & identifier) + (binary_expression "(local_9c[2] - 0x11aU) * 4" (parenthesized_expression "(local_9c[2] - 0x11aU)" ( (binary_expression "local_9c[2] - 0x11aU" (subscript_expression "local_9c[2]" identifier [ number_literal ]) - number_literal) )) * number_literal)) ))))) ;) })) (expression_statement "lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));" (assignment_expression "lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f))" identifier = (binary_expression "local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f))" identifier + (call_expression "(ulonglong)(uVar11 >> (bVar21 & 0x1f))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar11 >> (bVar21 & 0x1f))" ( (binary_expression "uVar11 >> (bVar21 & 0x1f)" identifier >> (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) ))) ))))) ;) (expression_statement "bVar22 = *(byte *)(iVar14 + 0x15);" (assignment_expression "bVar22 = *(byte *)(iVar14 + 0x15)" identifier = (pointer_expression "*(byte *)(iVar14 + 0x15)" * (cast_expression "(byte *)(iVar14 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x15)" ( (binary_expression "iVar14 + 0x15" identifier + number_literal) ))))) ;) (expression_statement "lVar3 = lVar34;" (assignment_expression "lVar3 = lVar34" identifier = identifier) ;) (goto_statement "goto joined_r0x00022089;" goto statement_identifier ;)) (case_statement "case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;" case number_literal : (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x1c)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x1c" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);" (assignment_expression "local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1)" (subscript_expression "local_9c[0xb]" identifier [ number_literal ]) = (binary_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20))" ( (binary_expression "local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)(*(int *)(param_2 + 0x1c) + 0x20)" * (cast_expression "(int *)(*(int *)(param_2 + 0x1c) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x20)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) )) - (call_expression "(uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < *puVar1)" ( (binary_expression "(uint)local_34 < *puVar1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*puVar1" * identifier)) ))))) ;) (expression_statement "local_9c[10] = (uint)local_34 - uVar11;" (assignment_expression "local_9c[10] = (uint)local_34 - uVar11" (subscript_expression "local_9c[10]" identifier [ number_literal ]) = (binary_expression "(uint)local_34 - uVar11" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - identifier)) ;) (expression_statement "local_9c[9] = *(int *)(param_2 + 0x1c);" (assignment_expression "local_9c[9] = *(int *)(param_2 + 0x1c)" (subscript_expression "local_9c[9]" identifier [ number_literal ]) = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = bfd_get_reloc_size(local_9c[3]);" (assignment_expression "iVar10 = bfd_get_reloc_size(local_9c[3])" identifier = (call_expression "bfd_get_reloc_size(local_9c[3])" identifier (argument_list "(local_9c[3])" ( (subscript_expression "local_9c[3]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar14 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar14 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "bVar21 = (byte)DAT_0009386c;" (assignment_expression "bVar21 = (byte)DAT_0009386c" identifier = (cast_expression "(byte)DAT_0009386c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "iVar10 = iVar10 >> (bVar21 & 0x1f);" (assignment_expression "iVar10 = iVar10 >> (bVar21 & 0x1f)" identifier = (binary_expression "iVar10 >> (bVar21 & 0x1f)" identifier >> (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "lVar34 = local_34 + iVar10;" (assignment_expression "lVar34 = local_34 + iVar10" identifier = (binary_expression "local_34 + iVar10" identifier + identifier)) ;) (expression_statement "bVar22 = *(byte *)(iVar14 + 0x15);" (assignment_expression "bVar22 = *(byte *)(iVar14 + 0x15)" identifier = (pointer_expression "*(byte *)(iVar14 + 0x15)" * (cast_expression "(byte *)(iVar14 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x15)" ( (binary_expression "iVar14 + 0x15" identifier + number_literal) ))))) ;) (expression_statement "lVar3 = local_34 + iVar10;" (assignment_expression "lVar3 = local_34 + iVar10" identifier = (binary_expression "local_34 + iVar10" identifier + identifier)) ;) (labeled_statement "joined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }" statement_identifier : (if_statement "if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }" if (parenthesized_expression "((bVar22 & 8) == 0)" ( (binary_expression "(bVar22 & 8) == 0" (parenthesized_expression "(bVar22 & 8)" ( (binary_expression "bVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }" { (expression_statement "uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);" (assignment_expression "uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c)" identifier = (binary_expression "(uint)lVar3 - *(uint *)(iVar14 + 0x1c)" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) - (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "uVar12 = uVar11 << (bVar21 & 0x1f);" (assignment_expression "uVar12 = uVar11 << (bVar21 & 0x1f)" identifier = (binary_expression "uVar11 << (bVar21 & 0x1f)" identifier << (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar13 = uVar12;" (assignment_expression "uVar13 = uVar12" identifier = identifier) ;) (expression_statement "uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);" (assignment_expression "uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f)" identifier = (binary_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f)" (binary_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f)" (binary_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c))" (parenthesized_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20))" ( (binary_expression "(int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)" (cast_expression "(int)((ulonglong)lVar3 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) - (pointer_expression "*(int *)(iVar14 + 0x20)" * (cast_expression "(int *)(iVar14 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) )) - (call_expression "(uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar3 < *(uint *)(iVar14 + 0x1c))" ( (binary_expression "(uint)lVar3 < *(uint *)(iVar14 + 0x1c)" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*(uint *)(iVar14 + 0x1c)" * (cast_expression "(uint *)(iVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1c)" ( (binary_expression "iVar14 + 0x1c" identifier + number_literal) ))))) )))) << (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) ))) | (binary_expression "uVar11 >> 0x20 - (bVar21 & 0x1f)" identifier >> (binary_expression "0x20 - (bVar21 & 0x1f)" number_literal - (parenthesized_expression "(bVar21 & 0x1f)" ( (binary_expression "bVar21 & 0x1f" identifier & number_literal) )))))) ;) (if_statement "if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }" if (parenthesized_expression "((bVar21 & 0x20) != 0)" ( (binary_expression "(bVar21 & 0x20) != 0" (parenthesized_expression "(bVar21 & 0x20)" ( (binary_expression "bVar21 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) })) (expression_statement "*(uint *)(iVar14 + 0x30) = uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x30) = uVar11" (pointer_expression "*(uint *)(iVar14 + 0x30)" * (cast_expression "(uint *)(iVar14 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar14 + 0x2c) = uVar13;" (assignment_expression "*(uint *)(iVar14 + 0x2c) = uVar13" (pointer_expression "*(uint *)(iVar14 + 0x2c)" * (cast_expression "(uint *)(iVar14 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar34 = lVar3;" (assignment_expression "lVar34 = lVar3" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;" case number_literal : (expression_statement "local_9c[4] = 0;" (assignment_expression "local_9c[4] = 0" (subscript_expression "local_9c[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[5] = 0;" (assignment_expression "local_9c[5] = 0" (subscript_expression "local_9c[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x1c)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x1c" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);" (assignment_expression "local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1)" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = (binary_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20))" ( (binary_expression "local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (field_expression "local_34._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)(*(int *)(param_2 + 0x1c) + 0x20)" * (cast_expression "(int *)(*(int *)(param_2 + 0x1c) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x20)" ( (binary_expression "*(int *)(param_2 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) )) - (call_expression "(uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_34 < *puVar1)" ( (binary_expression "(uint)local_34 < *puVar1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*puVar1" * identifier)) ))))) ;) (expression_statement "local_9c[2] = (uint)local_34 - uVar11;" (assignment_expression "local_9c[2] = (uint)local_34 - uVar11" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = (binary_expression "(uint)local_34 - uVar11" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) - identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n    goto code_r0x00022351;" case number_literal : (goto_statement "goto code_r0x00022351;" goto statement_identifier ;)) (case_statement "case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;" case number_literal : (labeled_statement "code_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);" statement_identifier : (expression_statement "lVar34 = FUN_00021f80(lVar34,param_5,param_6);" (assignment_expression "lVar34 = FUN_00021f80(lVar34,param_5,param_6)" identifier = (call_expression "FUN_00021f80(lVar34,param_5,param_6)" identifier (argument_list "(lVar34,param_5,param_6)" ( identifier , identifier , identifier )))) ;)) (break_statement "break;" break ;)) (case_statement "default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;" default : (expression_statement "FUN_00032bf0("../../ld/ldlang.c",0x15a7);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",0x15a7)" identifier (argument_list "("../../ld/ldlang.c",0x15a7)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" identifier = identifier) ;)) })) (labeled_statement "LAB_00022010:\n  piVar25 = (int *)*local_9c;" statement_identifier : (expression_statement "piVar25 = (int *)*local_9c;" (assignment_expression "piVar25 = (int *)*local_9c" identifier = (cast_expression "(int *)*local_9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_9c" * identifier))) ;)) (expression_statement "param_1 = local_9c;" (assignment_expression "param_1 = local_9c" identifier = identifier) ;) (goto_statement "goto joined_r0x00021fcf;" goto statement_identifier ;) (labeled_statement "code_r0x0002200c:\n  goto LAB_00022010;" statement_identifier : (goto_statement "goto LAB_00022010;" goto statement_identifier ;)) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (compound_statement { (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (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 (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) , (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) })) }))) }))) (expression_statement (assignment_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 (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) - LIT) < LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 = (subscript_expression IDENT [ LIT ])) ;) (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) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (for_statement for ( ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & IDENT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & IDENT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) }) (else_clause else (if_statement if (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 *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (goto_statement goto statement_identifier ;)) })) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) })) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (unary_expression ! IDENT)) << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - IDENT) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ))) & (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression (subscript_expression IDENT [ LIT ]) != LIT)) ))) )) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , (string_literal " string_content escape_sequence ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })) }))) (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 (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) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (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 ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) | (binary_expression IDENT << (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) & (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) + LIT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) != LIT) )))) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) & (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) )) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) | (binary_expression IDENT >> (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT << IDENT) | (binary_expression LIT >> (binary_expression LIT - IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) & (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT != LIT) ))) ))) & (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) < IDENT) || (binary_expression (binary_expression (field_expression IDENT . field_identifier) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) | (binary_expression IDENT << (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) )) (goto_statement goto statement_identifier ;)) (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 != IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence escape_sequence ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT << IDENT) | (binary_expression LIT >> (binary_expression LIT - IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) , (binary_expression IDENT - LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT != LIT) ))) ))) & (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression - 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 * (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)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (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)) ;)) (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 (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (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) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= (field_expression IDENT . field_identifier)) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) <= (binary_expression (field_expression IDENT . field_identifier) - IDENT))) )) (goto_statement goto statement_identifier ;)) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) }))) })) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) )))) >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> IDENT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << (binary_expression LIT - IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (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 ]) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) })) }))) })) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != (char_literal ' character ')) || (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ]) != (char_literal ' escape_sequence ')) ))) )) ))) )) (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)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (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) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - IDENT) ))) >> LIT) ))) << IDENT) | (binary_expression IDENT >> (binary_expression LIT - IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) })) })))) })) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (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) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT << IDENT) | (binary_expression LIT >> (binary_expression LIT - IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT != LIT) ))) ))) & (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (field_expression IDENT . field_identifier)) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) | (binary_expression IDENT >> (binary_expression LIT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> (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 IDENT + LIT) )))) << (binary_expression LIT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) | (binary_expression IDENT >> (binary_expression LIT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 IDENT = (binary_expression IDENT + IDENT)) ;) })) }) (else_clause else (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (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) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) ;) }))))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , (pointer_expression & IDENT) ))) ;) })) (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) )) * LIT)) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) )) * LIT)) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * IDENT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) | (binary_expression IDENT >> (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 IDENT = IDENT) ;) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * IDENT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;)) (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (goto_statement goto statement_identifier ;)) })))
(function_definition "longlong __regparm2\nFUN_00021f80(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  longlong lVar3;\n  longlong lVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  char *pcVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  byte bVar21;\n  byte bVar22;\n  uint uVar23;\n  undefined **extraout_ECX;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  byte bVar33;\n  longlong lVar34;\n  undefined8 uVar35;\n  undefined **ppuVar36;\n  int *local_9c;\n  undefined *puStack_84;\n  uint uStack_80;\n  undefined4 *puStack_7c;\n  uint uStack_78;\n  uint uStack_6c;\n  uint uStack_64;\n  int iStack_60;\n  uint uStack_54;\n  int iStack_50;\n  uint uStack_4c;\n  uint uStack_48;\n  undefined8 local_34;\n  undefined8 uStack_24;\n  undefined4 uStack_14;\n  \n  bVar33 = 0;\n  uStack_14 = 0x21f8b;\n  lVar34 = CONCAT44(param_4,param_3);\n  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;\n  piVar25 = (int *)*param_1;\njoined_r0x00021fcf:\n  local_9c = piVar25;\n  if (local_9c == (int *)0x0) {\n    return lVar34;\n  }\n  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n  local_34._0_4_ = (uint)lVar34;\n  local_34 = lVar34;\n  switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }\nLAB_00022010:\n  piVar25 = (int *)*local_9c;\n  param_1 = local_9c;\n  goto joined_r0x00021fcf;\ncode_r0x0002200c:\n  goto LAB_00022010;\n}" (type_identifier "longlong") (ERROR "__regparm2" (identifier "__regparm2")) (function_declarator "FUN_00021f80(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)" (identifier "FUN_00021f80") (parameter_list "(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,\n            int param_6)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) () ")"))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  longlong lVar3;\n  longlong lVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  char *pcVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  byte bVar21;\n  byte bVar22;\n  uint uVar23;\n  undefined **extraout_ECX;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  byte bVar33;\n  longlong lVar34;\n  undefined8 uVar35;\n  undefined **ppuVar36;\n  int *local_9c;\n  undefined *puStack_84;\n  uint uStack_80;\n  undefined4 *puStack_7c;\n  uint uStack_78;\n  uint uStack_6c;\n  uint uStack_64;\n  int iStack_60;\n  uint uStack_54;\n  int iStack_50;\n  uint uStack_4c;\n  uint uStack_48;\n  undefined8 local_34;\n  undefined8 uStack_24;\n  undefined4 uStack_14;\n  \n  bVar33 = 0;\n  uStack_14 = 0x21f8b;\n  lVar34 = CONCAT44(param_4,param_3);\n  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;\n  piVar25 = (int *)*param_1;\njoined_r0x00021fcf:\n  local_9c = piVar25;\n  if (local_9c == (int *)0x0) {\n    return lVar34;\n  }\n  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n  local_34._0_4_ = (uint)lVar34;\n  local_34 = lVar34;\n  switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }\nLAB_00022010:\n  piVar25 = (int *)*local_9c;\n  param_1 = local_9c;\n  goto joined_r0x00021fcf;\ncode_r0x0002200c:\n  goto LAB_00022010;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "longlong lVar3;" (type_identifier "longlong") (identifier "lVar3") (; ";")) (declaration "longlong lVar4;" (type_identifier "longlong") (identifier "lVar4") (; ";")) (declaration "longlong lVar5;" (type_identifier "longlong") (identifier "lVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "char *pcVar17;" (primitive_type "char") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "undefined4 *puVar20;" (type_identifier "undefined4") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "byte bVar21;" (type_identifier "byte") (identifier "bVar21") (; ";")) (declaration "byte bVar22;" (type_identifier "byte") (identifier "bVar22") (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "undefined **extraout_ECX;" (type_identifier "undefined") (pointer_declarator "**extraout_ECX" (* "*") (pointer_declarator "*extraout_ECX" (* "*") (identifier "extraout_ECX"))) (; ";")) (declaration "int iVar24;" (primitive_type "int") (identifier "iVar24") (; ";")) (declaration "int *piVar25;" (primitive_type "int") (pointer_declarator "*piVar25" (* "*") (identifier "piVar25")) (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "uint uVar27;" (type_identifier "uint") (identifier "uVar27") (; ";")) (declaration "byte *pbVar28;" (type_identifier "byte") (pointer_declarator "*pbVar28" (* "*") (identifier "pbVar28")) (; ";")) (declaration "uint uVar29;" (type_identifier "uint") (identifier "uVar29") (; ";")) (declaration "byte *pbVar30;" (type_identifier "byte") (pointer_declarator "*pbVar30" (* "*") (identifier "pbVar30")) (; ";")) (declaration "bool bVar31;" (primitive_type "bool") (identifier "bVar31") (; ";")) (declaration "bool bVar32;" (primitive_type "bool") (identifier "bVar32") (; ";")) (declaration "byte bVar33;" (type_identifier "byte") (identifier "bVar33") (; ";")) (declaration "longlong lVar34;" (type_identifier "longlong") (identifier "lVar34") (; ";")) (declaration "undefined8 uVar35;" (type_identifier "undefined8") (identifier "uVar35") (; ";")) (declaration "undefined **ppuVar36;" (type_identifier "undefined") (pointer_declarator "**ppuVar36" (* "*") (pointer_declarator "*ppuVar36" (* "*") (identifier "ppuVar36"))) (; ";")) (declaration "int *local_9c;" (primitive_type "int") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c")) (; ";")) (declaration "undefined *puStack_84;" (type_identifier "undefined") (pointer_declarator "*puStack_84" (* "*") (identifier "puStack_84")) (; ";")) (declaration "uint uStack_80;" (type_identifier "uint") (identifier "uStack_80") (; ";")) (declaration "undefined4 *puStack_7c;" (type_identifier "undefined4") (pointer_declarator "*puStack_7c" (* "*") (identifier "puStack_7c")) (; ";")) (declaration "uint uStack_78;" (type_identifier "uint") (identifier "uStack_78") (; ";")) (declaration "uint uStack_6c;" (type_identifier "uint") (identifier "uStack_6c") (; ";")) (declaration "uint uStack_64;" (type_identifier "uint") (identifier "uStack_64") (; ";")) (declaration "int iStack_60;" (primitive_type "int") (identifier "iStack_60") (; ";")) (declaration "uint uStack_54;" (type_identifier "uint") (identifier "uStack_54") (; ";")) (declaration "int iStack_50;" (primitive_type "int") (identifier "iStack_50") (; ";")) (declaration "uint uStack_4c;" (type_identifier "uint") (identifier "uStack_4c") (; ";")) (declaration "uint uStack_48;" (type_identifier "uint") (identifier "uStack_48") (; ";")) (declaration "undefined8 local_34;" (type_identifier "undefined8") (identifier "local_34") (; ";")) (declaration "undefined8 uStack_24;" (type_identifier "undefined8") (identifier "uStack_24") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar33 = 0;" (assignment_expression "bVar33 = 0" (identifier "bVar33") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x21f8b;" (assignment_expression "uStack_14 = 0x21f8b" (identifier "uStack_14") (= "=") (number_literal "0x21f8b")) (; ";")) (expression_statement "lVar34 = CONCAT44(param_4,param_3);" (assignment_expression "lVar34 = CONCAT44(param_4,param_3)" (identifier "lVar34") (= "=") (call_expression "CONCAT44(param_4,param_3)" (identifier "CONCAT44") (argument_list "(param_4,param_3)" (( "(") (identifier "param_4") (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;" (assignment_expression "puVar9 = PTR__bfd_std_section_00092fb4 + 0x180" (identifier "puVar9") (= "=") (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" (identifier "PTR__bfd_std_section_00092fb4") (+ "+") (number_literal "0x180"))) (; ";")) (expression_statement "piVar25 = (int *)*param_1;" (assignment_expression "piVar25 = (int *)*param_1" (identifier "piVar25") (= "=") (cast_expression "(int *)*param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (labeled_statement "joined_r0x00021fcf:\n  local_9c = piVar25;" (statement_identifier "joined_r0x00021fcf") (: ":") (expression_statement "local_9c = piVar25;" (assignment_expression "local_9c = piVar25" (identifier "local_9c") (= "=") (identifier "piVar25")) (; ";"))) (if_statement "if (local_9c == (int *)0x0) {\n    return lVar34;\n  }" (if "if") (parenthesized_expression "(local_9c == (int *)0x0)" (( "(") (binary_expression "local_9c == (int *)0x0" (identifier "local_9c") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return lVar34;\n  }" ({ "{") (return_statement "return lVar34;" (return "return") (identifier "lVar34") (; ";")) (} "}"))) (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (= "=") (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" (identifier "local_34") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint)lVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar34"))) (; ";")) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" (identifier "local_34") (= "=") (identifier "lVar34")) (; ";")) (switch_statement "switch(local_9c[1]) {\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }" (switch "switch") (parenthesized_expression "(local_9c[1])" (( "(") (subscript_expression "local_9c[1]" (identifier "local_9c") ([ "[") (number_literal "1") (] "]")) () ")")) (compound_statement "{\n  case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;\n  case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;\n  case 2:\n  case 3:\n  case 10:\n  case 0xb:\n  case 0xe:\n    goto code_r0x0002200c;\n  case 4:\n    goto code_r0x00022351;\n  case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;\n  case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;\n  case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;\n  case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;\n  case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;\n  case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;\n  case 0xd:\n    goto code_r0x00022351;\n  case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;\n  default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;\n  }" ({ "{") (case_statement "case 0:\n    if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    break;" (case "case") (number_literal "0") (: ":") (if_statement "if (local_9c[0x12] != -1) {\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(local_9c[0x12] != -1)" (( "(") (binary_expression "local_9c[0x12] != -1" (subscript_expression "local_9c[0x12]" (identifier "local_9c") ([ "[") (number_literal "0x12") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n      iVar14 = local_9c[0xb];\n      if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }\n      puVar6 = PTR__bfd_std_section_00092fb4;\n      puStack_7c = (undefined4 *)local_9c[7];\n      if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "iVar14 = local_9c[0xb];" (assignment_expression "iVar14 = local_9c[0xb]" (identifier "iVar14") (= "=") (subscript_expression "local_9c[0xb]" (identifier "local_9c") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (if_statement "if (iVar14 == 0) {\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }\n      else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }\n      }" ({ "{") (if_statement "if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }" (if "if") (parenthesized_expression "(((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2))" (( "(") (binary_expression "((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)" (parenthesized_expression "((DAT_00093c80 & 3) == 2)" (( "(") (binary_expression "(DAT_00093c80 & 3) == 2" (parenthesized_expression "(DAT_00093c80 & 3)" (( "(") (binary_expression "DAT_00093c80 & 3" (identifier "DAT_00093c80") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)" (( "(") (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2" (pointer_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00093cb4 + 4) + 4)" (( "(") (binary_expression "*(int *)(DAT_00093cb4 + 4) + 4" (pointer_expression "*(int *)(DAT_00093cb4 + 4)" (* "*") (cast_expression "(int *)(DAT_00093cb4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00093cb4 + 4)" (( "(") (binary_expression "DAT_00093cb4 + 4" (identifier "DAT_00093cb4") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          iVar14 = FUN_000307b0(0,0);\n          local_9c[0xb] = iVar14;\n          lVar34 = local_34;\n          if (iVar14 != 0) goto code_r0x00022390;\n        }" ({ "{") (expression_statement "iVar14 = FUN_000307b0(0,0);" (assignment_expression "iVar14 = FUN_000307b0(0,0)" (identifier "iVar14") (= "=") (call_expression "FUN_000307b0(0,0)" (identifier "FUN_000307b0") (argument_list "(0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "local_9c[0xb] = iVar14;" (assignment_expression "local_9c[0xb] = iVar14" (subscript_expression "local_9c[0xb]" (identifier "local_9c") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (iVar14 != 0) goto code_r0x00022390;" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00022390;" (goto "goto") (statement_identifier "code_r0x00022390") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }" (else "else") (compound_statement "{\ncode_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;\n        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);\n        if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }\n      }" ({ "{") (labeled_statement "code_r0x00022390:\n        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;" (statement_identifier "code_r0x00022390") (: ":") (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (= "=") (binary_expression "*(byte *)(local_9c + 0x15) & 0xfe" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "0xfe"))) (; ";"))) (expression_statement "FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);" (call_expression "FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34)" (identifier "FUN_000308d0") (argument_list "(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34)" (( "(") (identifier "iVar14") (, ",") (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" (identifier "PTR__bfd_std_section_00092fb4") (+ "+") (number_literal "0x180")) (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (if_statement "if (DAT_00093e44 == 0) {\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }\n        else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }" (if "if") (parenthesized_expression "(DAT_00093e44 == 0)" (( "(") (binary_expression "DAT_00093e44 == 0" (identifier "DAT_00093e44") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          lVar34 = local_34;\n          if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }\n        }" ({ "{") (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (DAT_00093e20 != 1) {\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }" (if "if") (parenthesized_expression "(DAT_00093e20 != 1)" (( "(") (binary_expression "DAT_00093e20 != 1" (identifier "DAT_00093e20") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n            iVar14 = local_9c[6];\n            iVar10 = local_9c[0xb];\n            uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);\n            FUN_00032ba0(uVar16,iVar10,iVar14);\n            lVar34 = local_34;\n          }" ({ "{") (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" (identifier "iVar14") (= "=") (subscript_expression "local_9c[6]" (identifier "local_9c") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "iVar10 = local_9c[0xb];" (assignment_expression "iVar10 = local_9c[0xb]" (identifier "iVar10") (= "=") (subscript_expression "local_9c[0xb]" (identifier "local_9c") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5);" (assignment_expression "uVar16 = dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5)" (identifier "uVar16") (= "=") (call_expression "dcgettext(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5)" (identifier "dcgettext") (argument_list "(0,\n                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"\n                               ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P:%pS: non constant or forward reference address expression for section %s\n"" (" """) (string_content "%F%P:%pS: non constant or forward reference address expression for section %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00032ba0(uVar16,iVar10,iVar14);" (call_expression "FUN_00032ba0(uVar16,iVar10,iVar14)" (identifier "FUN_00032ba0") (argument_list "(uVar16,iVar10,iVar14)" (( "(") (identifier "uVar16") (, ",") (identifier "iVar10") (, ",") (identifier "iVar14") () ")"))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }" (else "else") (compound_statement "{\n          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);\n          if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }\n        }" ({ "{") (expression_statement "lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);" (assignment_expression "lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34)" (identifier "lVar34") (= "=") (call_expression "CONCAT44(DAT_00093e38,DAT_00093e34)" (identifier "CONCAT44") (argument_list "(DAT_00093e38,DAT_00093e34)" (( "(") (identifier "DAT_00093e38") (, ",") (identifier "DAT_00093e34") () ")")))) (; ";")) (if_statement "if (DAT_00093e40 != 0) {\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }" (if "if") (parenthesized_expression "(DAT_00093e40 != 0)" (( "(") (binary_expression "DAT_00093e40 != 0" (identifier "DAT_00093e40") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));\n          }" ({ "{") (expression_statement "lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));" (assignment_expression "lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c))" (identifier "lVar34") (= "=") (call_expression "CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c))" (identifier "CONCAT44") (argument_list "(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),\n                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c))" (( "(") (binary_expression "DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +\n                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" (binary_expression "DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20)" (identifier "DAT_00093e38") (+ "+") (pointer_expression "*(int *)(DAT_00093e40 + 0x20)" (* "*") (cast_expression "(int *)(DAT_00093e40 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00093e40 + 0x20)" (( "(") (binary_expression "DAT_00093e40 + 0x20" (identifier "DAT_00093e40") (+ "+") (number_literal "0x20")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" (identifier "CARRY4") (argument_list "(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c))" (( "(") (identifier "DAT_00093e34") (, ",") (pointer_expression "*(uint *)(DAT_00093e40 + 0x1c)" (* "*") (cast_expression "(uint *)(DAT_00093e40 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00093e40 + 0x1c)" (( "(") (binary_expression "DAT_00093e40 + 0x1c" (identifier "DAT_00093e40") (+ "+") (number_literal "0x1c")) () ")")))) () ")"))))) (, ",") (binary_expression "DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c)" (identifier "DAT_00093e34") (+ "+") (pointer_expression "*(uint *)(DAT_00093e40 + 0x1c)" (* "*") (cast_expression "(uint *)(DAT_00093e40 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00093e40 + 0x1c)" (( "(") (binary_expression "DAT_00093e40 + 0x1c" (identifier "DAT_00093e40") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "puVar6 = PTR__bfd_std_section_00092fb4;" (assignment_expression "puVar6 = PTR__bfd_std_section_00092fb4" (identifier "puVar6") (= "=") (identifier "PTR__bfd_std_section_00092fb4")) (; ";")) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)local_9c[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (if_statement "if (puStack_7c != (undefined4 *)0x0) {\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(puStack_7c != (undefined4 *)0x0)" (( "(") (binary_expression "puStack_7c != (undefined4 *)0x0" (identifier "puStack_7c") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_34 = lVar34;\n        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" (identifier "local_34") (= "=") (identifier "lVar34")) (; ";")) (if_statement "if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }\n        else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0))" (( "(") (binary_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&\n           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)" (parenthesized_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2)" (( "(") (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2" (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U" (pointer_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00093cb4 + 4) + 4)" (( "(") (binary_expression "*(int *)(DAT_00093cb4 + 4) + 4" (pointer_expression "*(int *)(DAT_00093cb4 + 4)" (* "*") (cast_expression "(int *)(DAT_00093cb4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00093cb4 + 4)" (( "(") (binary_expression "DAT_00093cb4 + 4" (identifier "DAT_00093cb4") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (- "-") (number_literal "2U")) (< "<") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)" (( "(") (comma_expression "uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0" (assignment_expression "uVar11 = puStack_7c[5]" (identifier "uVar11") (= "=") (subscript_expression "puStack_7c[5]" (identifier "puStack_7c") ([ "[") (number_literal "5") (] "]"))) (, ",") (binary_expression "(uVar11 & 0x4000000) != 0" (parenthesized_expression "(uVar11 & 0x4000000)" (( "(") (binary_expression "uVar11 & 0x4000000" (identifier "uVar11") (& "&") (number_literal "0x4000000")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          piVar25 = (int *)local_9c[2];\n          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }\n          iVar14 = piVar25[2];\n          uVar16 = *(undefined4 *)(iVar14 + 0x1c);\n          uVar18 = *(undefined4 *)(iVar14 + 0x20);\n          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n          puStack_7c[9] = uVar16;\n          puStack_7c[10] = uVar18;\n          puStack_7c[7] = uVar16;\n          puStack_7c[8] = uVar18;\n          lVar34 = local_34;\n          if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }\n        }" ({ "{") (expression_statement "piVar25 = (int *)local_9c[2];" (assignment_expression "piVar25 = (int *)local_9c[2]" (identifier "piVar25") (= "=") (cast_expression "(int *)local_9c[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }" (if "if") (parenthesized_expression "(((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5))" (( "(") (binary_expression "((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)" (parenthesized_expression "((piVar25 == (int *)0x0) || (*piVar25 != 0))" (( "(") (binary_expression "(piVar25 == (int *)0x0) || (*piVar25 != 0)" (parenthesized_expression "(piVar25 == (int *)0x0)" (( "(") (binary_expression "piVar25 == (int *)0x0" (identifier "piVar25") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar25 != 0)" (( "(") (binary_expression "*piVar25 != 0" (pointer_expression "*piVar25" (* "*") (identifier "piVar25")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(piVar25[1] != 5)" (( "(") (binary_expression "piVar25[1] != 5" (subscript_expression "piVar25[1]" (identifier "piVar25") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "5")) () ")"))) () ")")) (compound_statement "{\n            iVar14 = local_9c[6];\n            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);\n            FUN_00032ba0(uVar16,iVar14);\n            puStack_7c = (undefined4 *)local_9c[7];\n            piVar25 = (int *)local_9c[2];\n            uVar11 = puStack_7c[5];\n          }" ({ "{") (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" (identifier "iVar14") (= "=") (subscript_expression "local_9c[6]" (identifier "local_9c") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);" (assignment_expression "uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5)" (identifier "uVar16") (= "=") (call_expression "dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5)" (identifier "dcgettext") (argument_list "(0,"%X%P: internal error on COFF shared library section %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%X%P: internal error on COFF shared library section %s\n"" (" """) (string_content "%X%P: internal error on COFF shared library section %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00032ba0(uVar16,iVar14);" (call_expression "FUN_00032ba0(uVar16,iVar14)" (identifier "FUN_00032ba0") (argument_list "(uVar16,iVar14)" (( "(") (identifier "uVar16") (, ",") (identifier "iVar14") () ")"))) (; ";")) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)local_9c[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "piVar25 = (int *)local_9c[2];" (assignment_expression "piVar25 = (int *)local_9c[2]" (identifier "piVar25") (= "=") (cast_expression "(int *)local_9c[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "uVar11 = puStack_7c[5];" (assignment_expression "uVar11 = puStack_7c[5]" (identifier "uVar11") (= "=") (subscript_expression "puStack_7c[5]" (identifier "puStack_7c") ([ "[") (number_literal "5") (] "]"))) (; ";")) (} "}"))) (expression_statement "iVar14 = piVar25[2];" (assignment_expression "iVar14 = piVar25[2]" (identifier "iVar14") (= "=") (subscript_expression "piVar25[2]" (identifier "piVar25") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar16 = *(undefined4 *)(iVar14 + 0x1c);" (assignment_expression "uVar16 = *(undefined4 *)(iVar14 + 0x1c)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)(iVar14 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x1c)" (( "(") (binary_expression "iVar14 + 0x1c" (identifier "iVar14") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)(iVar14 + 0x20);" (assignment_expression "uVar18 = *(undefined4 *)(iVar14 + 0x20)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)(iVar14 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;" (assignment_expression "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" (* "*") (cast_expression "(byte *)(puStack_7c + 6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_7c + 6)" (( "(") (binary_expression "puStack_7c + 6" (identifier "puStack_7c") (+ "+") (number_literal "6")) () ")")))) (= "=") (binary_expression "*(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" (* "*") (cast_expression "(byte *)(puStack_7c + 6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_7c + 6)" (( "(") (binary_expression "puStack_7c + 6" (identifier "puStack_7c") (+ "+") (number_literal "6")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (expression_statement "puStack_7c[9] = uVar16;" (assignment_expression "puStack_7c[9] = uVar16" (subscript_expression "puStack_7c[9]" (identifier "puStack_7c") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "puStack_7c[10] = uVar18;" (assignment_expression "puStack_7c[10] = uVar18" (subscript_expression "puStack_7c[10]" (identifier "puStack_7c") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "puStack_7c[7] = uVar16;" (assignment_expression "puStack_7c[7] = uVar16" (subscript_expression "puStack_7c[7]" (identifier "puStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "puStack_7c[8] = uVar18;" (assignment_expression "puStack_7c[8] = uVar18" (subscript_expression "puStack_7c[8]" (identifier "puStack_7c") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (if_statement "if ((uVar11 & 0x800) == 0) {\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }" (if "if") (parenthesized_expression "((uVar11 & 0x800) == 0)" (( "(") (binary_expression "(uVar11 & 0x800) == 0" (parenthesized_expression "(uVar11 & 0x800)" (( "(") (binary_expression "uVar11 & 0x800" (identifier "uVar11") (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar16 = *(undefined4 *)(iVar14 + 0x30);\n            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);\n            puStack_7c[0xc] = uVar16;\n          }" ({ "{") (expression_statement "uVar16 = *(undefined4 *)(iVar14 + 0x30);" (assignment_expression "uVar16 = *(undefined4 *)(iVar14 + 0x30)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)(iVar14 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);" (assignment_expression "puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c)" (subscript_expression "puStack_7c[0xb]" (identifier "puStack_7c") ([ "[") (number_literal "0xb") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(iVar14 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x2c)" (( "(") (binary_expression "iVar14 + 0x2c" (identifier "iVar14") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "puStack_7c[0xc] = uVar16;" (assignment_expression "puStack_7c[0xc] = uVar16" (subscript_expression "puStack_7c[0xc]" (identifier "puStack_7c") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }" (else "else") (compound_statement "{\n          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }\n          FUN_00021f80(lVar34,param_5,param_6);\n          bVar22 = *(byte *)(local_9c + 0x15);\n          puVar2 = (undefined *)local_9c[7];\n          *(byte *)(local_9c + 0x15) = bVar22 | 1;\n          if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }\n          uStack_64 = local_9c[8];\n          lVar34 = local_34;\n          if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }\n          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n          local_34._0_4_ = (uint)lVar34;\n          local_34 = lVar34;\n          if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }\n          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }\n        }" ({ "{") (if_statement "if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }\n          else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }" (if "if") (parenthesized_expression "(puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180))" (( "(") (binary_expression "puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)" (identifier "puStack_7c") (== "==") (cast_expression "(undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x180)" (( "(") (binary_expression "PTR__bfd_std_section_00092fb4 + 0x180" (identifier "PTR__bfd_std_section_00092fb4") (+ "+") (number_literal "0x180")) () ")")))) () ")")) (compound_statement "{\n            uStack_6c = 0;\n            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);\n            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);\n            if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n          }" ({ "{") (expression_statement "uStack_6c = 0;" (assignment_expression "uStack_6c = 0" (identifier "uStack_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);" (assignment_expression "iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" (identifier "iStack_50") (= "=") (pointer_expression "*(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" (* "*") (cast_expression "(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x1a0)" (( "(") (binary_expression "PTR__bfd_std_section_00092fb4 + 0x1a0" (identifier "PTR__bfd_std_section_00092fb4") (+ "+") (number_literal "0x1a0")) () ")"))))) (; ";")) (expression_statement "uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);" (assignment_expression "uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" (identifier "uStack_54") (= "=") (pointer_expression "*(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" (* "*") (cast_expression "(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_00092fb4 + 0x19c)" (( "(") (binary_expression "PTR__bfd_std_section_00092fb4 + 0x19c" (identifier "PTR__bfd_std_section_00092fb4") (+ "+") (number_literal "0x19c")) () ")"))))) (; ";")) (if_statement "if (iStack_50 != 0 || uStack_54 != 0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }" (if "if") (parenthesized_expression "(iStack_50 != 0 || uStack_54 != 0)" (( "(") (binary_expression "iStack_50 != 0 || uStack_54 != 0" (binary_expression "iStack_50 != 0" (identifier "iStack_50") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uStack_54 != 0" (identifier "uStack_54") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n              FUN_00032bf0("../../ld/ldlang.c",0x13e5);\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }" ({ "{") (expression_statement "FUN_00032bf0("../../ld/ldlang.c",0x13e5);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",0x13e5)" (identifier "FUN_00032bf0") (argument_list "("../../ld/ldlang.c",0x13e5)" (( "(") (string_literal ""../../ld/ldlang.c"" (" """) (string_content "../../ld/ldlang.c") (" """)) (, ",") (number_literal "0x13e5") () ")"))) (; ";")) (expression_statement "uStack_54 = 0;" (assignment_expression "uStack_54 = 0" (identifier "uStack_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_50 = 0;" (assignment_expression "iStack_50 = 0" (identifier "iStack_50") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }" (else "else") (compound_statement "{\n            if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }\n            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);\n            uStack_64 = (uint)lVar34;\n            if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }\n            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;\n            *(longlong *)(puStack_7c + 9) = lVar34;\n            *(longlong *)(puStack_7c + 7) = lVar34;\n            puStack_7c[0x13] = 0;\n            puStack_7c[0x14] = 0;\n          }" ({ "{") (if_statement "if (local_9c[0xb] == 0) {\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }\n            else {\n              uStack_6c = local_9c[0x11];\n            }" (if "if") (parenthesized_expression "(local_9c[0xb] == 0)" (( "(") (binary_expression "local_9c[0xb] == 0" (subscript_expression "local_9c[0xb]" (identifier "local_9c") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              puVar20 = (undefined4 *)local_9c[8];\n              uVar11 = puStack_7c[5];\n              if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }\n              puVar7 = DAT_0009384c;\n              local_34 = lVar34;\n              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }\n              lVar34 = *(longlong *)(puVar20 + 9);\n              uStack_6c = puStack_7c[0x16];\n            }" ({ "{") (expression_statement "puVar20 = (undefined4 *)local_9c[8];" (assignment_expression "puVar20 = (undefined4 *)local_9c[8]" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)local_9c[8]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "uVar11 = puStack_7c[5];" (assignment_expression "uVar11 = puStack_7c[5]" (identifier "uVar11") (= "=") (subscript_expression "puStack_7c[5]" (identifier "puStack_7c") ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if (puVar20 == (undefined4 *)0x0) {\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }\n              else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" (if "if") (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar20 == (undefined4 *)0x0" (identifier "puVar20") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\ncode_r0x0002315d:\n                puVar20 = DAT_0009384c;\n                if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }\n                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }\n                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = local_34;\ncode_r0x000231b2:\n                local_9c[8] = (int)puVar20;\n              }" ({ "{") (labeled_statement "code_r0x0002315d:\n                puVar20 = DAT_0009384c;" (statement_identifier "code_r0x0002315d") (: ":") (expression_statement "puVar20 = DAT_0009384c;" (assignment_expression "puVar20 = DAT_0009384c" (identifier "puVar20") (= "=") (identifier "DAT_0009384c")) (; ";"))) (if_statement "if ((uVar11 & 0x19) == 1) {\n                  uVar11 = uVar11 | 0x20;\n                }" (if "if") (parenthesized_expression "((uVar11 & 0x19) == 1)" (( "(") (binary_expression "(uVar11 & 0x19) == 1" (parenthesized_expression "(uVar11 & 0x19)" (( "(") (binary_expression "uVar11 & 0x19" (identifier "uVar11") (& "&") (number_literal "0x19")) () ")")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  uVar11 = uVar11 | 0x20;\n                }" ({ "{") (expression_statement "uVar11 = uVar11 | 0x20;" (assignment_expression "uVar11 = uVar11 | 0x20" (identifier "uVar11") (= "=") (binary_expression "uVar11 | 0x20" (identifier "uVar11") (| "|") (number_literal "0x20"))) (; ";")) (} "}"))) (for_statement "for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }" (for "for") (( "(") (; ";") (binary_expression "puVar20 != (undefined4 *)0x0" (identifier "puVar20") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar20 = (undefined4 *)puVar20[2]" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)puVar20[2]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar20[2]" (identifier "puVar20") ([ "[") (number_literal "2") (] "]")))) () ")") (compound_statement "{\n                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;\n                }" ({ "{") (if_statement "if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))\n                  goto code_r0x000231b2;" (if "if") (parenthesized_expression "(((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))" (( "(") (binary_expression "((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0)" (parenthesized_expression "((puVar20[0xc] & uVar11) != 0)" (( "(") (binary_expression "(puVar20[0xc] & uVar11) != 0" (parenthesized_expression "(puVar20[0xc] & uVar11)" (( "(") (binary_expression "puVar20[0xc] & uVar11" (subscript_expression "puVar20[0xc]" (identifier "puVar20") ([ "[") (number_literal "0xc") (] "]")) (& "&") (identifier "uVar11")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((puVar20[0xd] & uVar11) == 0)" (( "(") (binary_expression "(puVar20[0xd] & uVar11) == 0" (parenthesized_expression "(puVar20[0xd] & uVar11)" (( "(") (binary_expression "puVar20[0xd] & uVar11" (subscript_expression "puVar20[0xd]" (identifier "puVar20") ([ "[") (number_literal "0xd") (] "]")) (& "&") (identifier "uVar11")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto code_r0x000231b2;" (goto "goto") (statement_identifier "code_r0x000231b2") (; ";"))) (} "}"))) (expression_statement "puVar20 = (undefined4 *)FUN_00021e10("*default*",0);" (assignment_expression "puVar20 = (undefined4 *)FUN_00021e10("*default*",0)" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)FUN_00021e10("*default*",0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00021e10("*default*",0)" (identifier "FUN_00021e10") (argument_list "("*default*",0)" (( "(") (string_literal ""*default*"" (" """) (string_content "*default*") (" """)) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)local_9c[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (labeled_statement "code_r0x000231b2:\n                local_9c[8] = (int)puVar20;" (statement_identifier "code_r0x000231b2") (: ":") (expression_statement "local_9c[8] = (int)puVar20;" (assignment_expression "local_9c[8] = (int)puVar20" (subscript_expression "local_9c[8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20"))) (; ";"))) (} "}")) (else_clause "else if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" (else "else") (if_statement "if ((uVar11 & 3) != 0) {\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" (if "if") (parenthesized_expression "((uVar11 & 3) != 0)" (( "(") (binary_expression "(uVar11 & 3) != 0" (parenthesized_expression "(uVar11 & 3)" (( "(") (binary_expression "uVar11 & 3" (identifier "uVar11") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                bVar22 = *(byte *)*puVar20;\n                bVar31 = bVar22 < 0x2a;\n                bVar32 = bVar22 == 0x2a;\n                if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }\n              }" ({ "{") (expression_statement "bVar22 = *(byte *)*puVar20;" (assignment_expression "bVar22 = *(byte *)*puVar20" (identifier "bVar22") (= "=") (pointer_expression "*(byte *)*puVar20" (* "*") (cast_expression "(byte *)*puVar20" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar20" (* "*") (identifier "puVar20"))))) (; ";")) (expression_statement "bVar31 = bVar22 < 0x2a;" (assignment_expression "bVar31 = bVar22 < 0x2a" (identifier "bVar31") (= "=") (binary_expression "bVar22 < 0x2a" (identifier "bVar22") (< "<") (number_literal "0x2a"))) (; ";")) (expression_statement "bVar32 = bVar22 == 0x2a;" (assignment_expression "bVar32 = bVar22 == 0x2a" (identifier "bVar32") (= "=") (binary_expression "bVar22 == 0x2a" (identifier "bVar22") (== "==") (number_literal "0x2a"))) (; ";")) (if_statement "if (bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }" (if "if") (parenthesized_expression "(bVar32)" (( "(") (identifier "bVar32") () ")")) (compound_statement "{\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;\n                }" ({ "{") (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" (identifier "iVar14") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar28 = (byte *)*puVar20;" (assignment_expression "pbVar28 = (byte *)*puVar20" (identifier "pbVar28") (= "=") (cast_expression "(byte *)*puVar20" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")))) (; ";")) (expression_statement "pbVar30 = (byte *)"*default*";" (assignment_expression "pbVar30 = (byte *)"*default*"" (identifier "pbVar30") (= "=") (cast_expression "(byte *)"*default*"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""*default*"" (" """) (string_content "*default*") (" """)))) (; ";")) (do_statement "do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);" (do "do") (compound_statement "{\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar31 = *pbVar28 < *pbVar30;" (assignment_expression "bVar31 = *pbVar28 < *pbVar30" (identifier "bVar31") (= "=") (binary_expression "*pbVar28 < *pbVar30" (pointer_expression "*pbVar28" (* "*") (identifier "pbVar28")) (< "<") (pointer_expression "*pbVar30" (* "*") (identifier "pbVar30")))) (; ";")) (expression_statement "bVar32 = *pbVar28 == *pbVar30;" (assignment_expression "bVar32 = *pbVar28 == *pbVar30" (identifier "bVar32") (= "=") (binary_expression "*pbVar28 == *pbVar30" (pointer_expression "*pbVar28" (* "*") (identifier "pbVar28")) (== "==") (pointer_expression "*pbVar30" (* "*") (identifier "pbVar30")))) (; ";")) (expression_statement "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1" (identifier "pbVar28") (= "=") (binary_expression "pbVar28 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar33 * -2" (identifier "pbVar28") (+ "+") (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar33")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1" (identifier "pbVar30") (= "=") (binary_expression "pbVar30 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar33 * -2" (identifier "pbVar30") (+ "+") (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar33")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar32)" (( "(") (identifier "bVar32") () ")")) (; ";")) (if_statement "if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;" (if "if") (parenthesized_expression "((!bVar31 && !bVar32) == bVar31)" (( "(") (binary_expression "(!bVar31 && !bVar32) == bVar31" (parenthesized_expression "(!bVar31 && !bVar32)" (( "(") (binary_expression "!bVar31 && !bVar32" (unary_expression "!bVar31" (! "!") (identifier "bVar31")) (&& "&&") (unary_expression "!bVar32" (! "!") (identifier "bVar32"))) () ")")) (== "==") (identifier "bVar31")) () ")")) (goto_statement "goto code_r0x0002315d;" (goto "goto") (statement_identifier "code_r0x0002315d") (; ";"))) (} "}"))) (} "}"))))) (expression_statement "puVar7 = DAT_0009384c;" (assignment_expression "puVar7 = DAT_0009384c" (identifier "puVar7") (= "=") (identifier "DAT_0009384c")) (; ";")) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" (identifier "local_34") (= "=") (identifier "lVar34")) (; ";")) (if_statement "if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2))" (( "(") (binary_expression "((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)" (parenthesized_expression "((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400))" (( "(") (binary_expression "(((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&\n                  ((puStack_7c[5] & 0x402) != 0x400)" (parenthesized_expression "(((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0))" (( "(") (binary_expression "((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)" (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(local_9c + 0x15) & 8) == 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 8)" (( "(") (binary_expression "*(byte *)(local_9c + 0x15) & 8" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((puStack_7c[5] & 1) != 0)" (( "(") (binary_expression "(puStack_7c[5] & 1) != 0" (parenthesized_expression "(puStack_7c[5] & 1)" (( "(") (binary_expression "puStack_7c[5] & 1" (subscript_expression "puStack_7c[5]" (identifier "puStack_7c") ([ "[") (number_literal "5") (] "]")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((puStack_7c[5] & 0x402) != 0x400)" (( "(") (binary_expression "(puStack_7c[5] & 0x402) != 0x400" (parenthesized_expression "(puStack_7c[5] & 0x402)" (( "(") (binary_expression "puStack_7c[5] & 0x402" (subscript_expression "puStack_7c[5]" (identifier "puStack_7c") ([ "[") (number_literal "5") (] "]")) (& "&") (number_literal "0x402")) () ")")) (!= "!=") (number_literal "0x400")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_00093c80 & 3) != 2)" (( "(") (binary_expression "(DAT_00093c80 & 3) != 2" (parenthesized_expression "(DAT_00093c80 & 3)" (( "(") (binary_expression "DAT_00093c80 & 3" (identifier "DAT_00093c80") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n                bVar31 = false;\n                bVar32 = param_6 == 0;\n                if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }\n              }" ({ "{") (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" (identifier "bVar31") (= "=") (false "false")) (; ";")) (expression_statement "bVar32 = param_6 == 0;" (assignment_expression "bVar32 = param_6 == 0" (identifier "bVar32") (= "=") (binary_expression "param_6 == 0" (identifier "param_6") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (!bVar32) {\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(!bVar32)" (( "(") (unary_expression "!bVar32" (! "!") (identifier "bVar32")) () ")")) (compound_statement "{\n                  iVar14 = 10;\n                  pbVar28 = (byte *)*puVar20;\n                  pbVar30 = (byte *)"*default*";\n                  do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);\n                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }\n                }" ({ "{") (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" (identifier "iVar14") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar28 = (byte *)*puVar20;" (assignment_expression "pbVar28 = (byte *)*puVar20" (identifier "pbVar28") (= "=") (cast_expression "(byte *)*puVar20" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")))) (; ";")) (expression_statement "pbVar30 = (byte *)"*default*";" (assignment_expression "pbVar30 = (byte *)"*default*"" (identifier "pbVar30") (= "=") (cast_expression "(byte *)"*default*"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""*default*"" (" """) (string_content "*default*") (" """)))) (; ";")) (do_statement "do {\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  } while (bVar32);" (do "do") (compound_statement "{\n                    if (iVar14 == 0) break;\n                    iVar14 = iVar14 + -1;\n                    bVar31 = *pbVar28 < *pbVar30;\n                    bVar32 = *pbVar28 == *pbVar30;\n                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;\n                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar31 = *pbVar28 < *pbVar30;" (assignment_expression "bVar31 = *pbVar28 < *pbVar30" (identifier "bVar31") (= "=") (binary_expression "*pbVar28 < *pbVar30" (pointer_expression "*pbVar28" (* "*") (identifier "pbVar28")) (< "<") (pointer_expression "*pbVar30" (* "*") (identifier "pbVar30")))) (; ";")) (expression_statement "bVar32 = *pbVar28 == *pbVar30;" (assignment_expression "bVar32 = *pbVar28 == *pbVar30" (identifier "bVar32") (= "=") (binary_expression "*pbVar28 == *pbVar30" (pointer_expression "*pbVar28" (* "*") (identifier "pbVar28")) (== "==") (pointer_expression "*pbVar30" (* "*") (identifier "pbVar30")))) (; ";")) (expression_statement "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1" (identifier "pbVar28") (= "=") (binary_expression "pbVar28 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar33 * -2" (identifier "pbVar28") (+ "+") (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar33")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1" (identifier "pbVar30") (= "=") (binary_expression "pbVar30 + (uint)bVar33 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar33 * -2" (identifier "pbVar30") (+ "+") (binary_expression "(uint)bVar33 * -2" (cast_expression "(uint)bVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar33")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar32)" (( "(") (identifier "bVar32") () ")")) (; ";")) (if_statement "if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }" (if "if") (parenthesized_expression "(((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0))" (( "(") (binary_expression "((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)" (parenthesized_expression "((!bVar31 && !bVar32) == bVar31)" (( "(") (binary_expression "(!bVar31 && !bVar32) == bVar31" (parenthesized_expression "(!bVar31 && !bVar32)" (( "(") (binary_expression "!bVar31 && !bVar32" (unary_expression "!bVar31" (! "!") (identifier "bVar31")) (&& "&&") (unary_expression "!bVar32" (! "!") (identifier "bVar32"))) () ")")) (== "==") (identifier "bVar31")) () ")")) (&& "&&") (parenthesized_expression "(DAT_0009384c != (undefined4 *)0x0)" (( "(") (binary_expression "DAT_0009384c != (undefined4 *)0x0" (identifier "DAT_0009384c") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");\n                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }\n                  }" ({ "{") (expression_statement "iVar14 = strcmp((char *)*DAT_0009384c,"*default*");" (assignment_expression "iVar14 = strcmp((char *)*DAT_0009384c,"*default*")" (identifier "iVar14") (= "=") (call_expression "strcmp((char *)*DAT_0009384c,"*default*")" (identifier "strcmp") (argument_list "((char *)*DAT_0009384c,"*default*")" (( "(") (cast_expression "(char *)*DAT_0009384c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_0009384c" (* "*") (identifier "DAT_0009384c"))) (, ",") (string_literal ""*default*"" (" """) (string_content "*default*") (" """)) () ")")))) (; ";")) (if_statement "if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }" (if "if") (parenthesized_expression "(((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1))" (( "(") (binary_expression "((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)" (parenthesized_expression "((iVar14 != 0) || (puVar7[2] != 0))" (( "(") (binary_expression "(iVar14 != 0) || (puVar7[2] != 0)" (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar7[2] != 0)" (( "(") (binary_expression "puVar7[2] != 0" (subscript_expression "puVar7[2]" (identifier "puVar7") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_00093e20 != 1)" (( "(") (binary_expression "DAT_00093e20 != 1" (identifier "DAT_00093e20") (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n                      uVar16 = *puStack_7c;\n                      if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }\n                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);\n                      FUN_00032ba0(uVar18,uVar16);\n                      puStack_7c = (undefined4 *)local_9c[7];\n                      puVar20 = (undefined4 *)local_9c[8];\n                    }" ({ "{") (expression_statement "uVar16 = *puStack_7c;" (assignment_expression "uVar16 = *puStack_7c" (identifier "uVar16") (= "=") (pointer_expression "*puStack_7c" (* "*") (identifier "puStack_7c"))) (; ";")) (if_statement "if (DAT_00093d38 == '\0') {\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }\n                      else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }" (if "if") (parenthesized_expression "(DAT_00093d38 == '\0')" (( "(") (binary_expression "DAT_00093d38 == '\0'" (identifier "DAT_00093d38") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                        pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = extraout_ECX;\n                      }" ({ "{") (expression_statement "pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n";" (assignment_expression "pcVar17 = \n                        "%P: warning: no memory region specified for loadable section `%s\'\n"" (identifier "pcVar17") (= "=") (string_literal ""%P: warning: no memory region specified for loadable section `%s\'\n"" (" """) (string_content "%P: warning: no memory region specified for loadable section `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "ppuVar36 = extraout_ECX;" (assignment_expression "ppuVar36 = extraout_ECX" (identifier "ppuVar36") (= "=") (identifier "extraout_ECX")) (; ";")) (} "}")) (else_clause "else {\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }" (else "else") (compound_statement "{\n                        pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";\n                        ppuVar36 = &__DT_PLTGOT;\n                      }" ({ "{") (expression_statement "pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n";" (assignment_expression "pcVar17 = \n                        "%F%P: error: no memory region specified for loadable section `%s\'\n"" (identifier "pcVar17") (= "=") (string_literal ""%F%P: error: no memory region specified for loadable section `%s\'\n"" (" """) (string_content "%F%P: error: no memory region specified for loadable section `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "ppuVar36 = &__DT_PLTGOT;" (assignment_expression "ppuVar36 = &__DT_PLTGOT" (identifier "ppuVar36") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (} "}")))) (expression_statement "uVar18 = dcgettext(0,pcVar17,5,ppuVar36);" (assignment_expression "uVar18 = dcgettext(0,pcVar17,5,ppuVar36)" (identifier "uVar18") (= "=") (call_expression "dcgettext(0,pcVar17,5,ppuVar36)" (identifier "dcgettext") (argument_list "(0,pcVar17,5,ppuVar36)" (( "(") (number_literal "0") (, ",") (identifier "pcVar17") (, ",") (number_literal "5") (, ",") (identifier "ppuVar36") () ")")))) (; ";")) (expression_statement "FUN_00032ba0(uVar18,uVar16);" (call_expression "FUN_00032ba0(uVar18,uVar16)" (identifier "FUN_00032ba0") (argument_list "(uVar18,uVar16)" (( "(") (identifier "uVar18") (, ",") (identifier "uVar16") () ")"))) (; ";")) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)local_9c[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "puVar20 = (undefined4 *)local_9c[8];" (assignment_expression "puVar20 = (undefined4 *)local_9c[8]" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)local_9c[8]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]")))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "lVar34 = *(longlong *)(puVar20 + 9);" (assignment_expression "lVar34 = *(longlong *)(puVar20 + 9)" (identifier "lVar34") (= "=") (pointer_expression "*(longlong *)(puVar20 + 9)" (* "*") (cast_expression "(longlong *)(puVar20 + 9)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 9)" (( "(") (binary_expression "puVar20 + 9" (identifier "puVar20") (+ "+") (number_literal "9")) () ")"))))) (; ";")) (expression_statement "uStack_6c = puStack_7c[0x16];" (assignment_expression "uStack_6c = puStack_7c[0x16]" (identifier "uStack_6c") (= "=") (subscript_expression "puStack_7c[0x16]" (identifier "puStack_7c") ([ "[") (number_literal "0x16") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n              uStack_6c = local_9c[0x11];\n            }" (else "else") (compound_statement "{\n              uStack_6c = local_9c[0x11];\n            }" ({ "{") (expression_statement "uStack_6c = local_9c[0x11];" (assignment_expression "uStack_6c = local_9c[0x11]" (identifier "uStack_6c") (= "=") (subscript_expression "local_9c[0x11]" (identifier "local_9c") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (} "}")))) (expression_statement "iStack_60 = (int)((ulonglong)lVar34 >> 0x20);" (assignment_expression "iStack_60 = (int)((ulonglong)lVar34 >> 0x20)" (identifier "iStack_60") (= "=") (cast_expression "(int)((ulonglong)lVar34 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uStack_64 = (uint)lVar34;" (assignment_expression "uStack_64 = (uint)lVar34" (identifier "uStack_64") (= "=") (cast_expression "(uint)lVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar34"))) (; ";")) (if_statement "if ((int)uStack_6c < 1) {\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }\n            else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }" (if "if") (parenthesized_expression "((int)uStack_6c < 1)" (( "(") (binary_expression "(int)uStack_6c < 1" (cast_expression "(int)uStack_6c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_6c")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n              uStack_54 = 0;\n              iStack_50 = 0;\n            }" ({ "{") (expression_statement "uStack_54 = 0;" (assignment_expression "uStack_54 = 0" (identifier "uStack_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_50 = 0;" (assignment_expression "iStack_50 = 0" (identifier "iStack_50") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }" (else "else") (compound_statement "{\n              bVar31 = (uStack_6c & 0x20) == 0;\n              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);\n              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);\n              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);\n              uVar13 = -iVar14 & (uint)lVar34;\n              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);\n              uStack_54 = uVar13 - uStack_64;\n              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);\n              lVar34 = CONCAT44(uVar11,uVar13);\n              if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }\n            }" ({ "{") (expression_statement "bVar31 = (uStack_6c & 0x20) == 0;" (assignment_expression "bVar31 = (uStack_6c & 0x20) == 0" (identifier "bVar31") (= "=") (binary_expression "(uStack_6c & 0x20) == 0" (parenthesized_expression "(uStack_6c & 0x20)" (( "(") (binary_expression "uStack_6c & 0x20" (identifier "uStack_6c") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0"))) (; ";")) (expression_statement "iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);" (assignment_expression "iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f)" (identifier "iVar10") (= "=") (binary_expression "(uint)!bVar31 << ((byte)uStack_6c & 0x1f)" (cast_expression "(uint)!bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (unary_expression "!bVar31" (! "!") (identifier "bVar31"))) (<< "<<") (parenthesized_expression "((byte)uStack_6c & 0x1f)" (( "(") (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_6c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);" (assignment_expression "iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f)" (identifier "iVar14") (= "=") (binary_expression "(uint)bVar31 << ((byte)uStack_6c & 0x1f)" (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")) (<< "<<") (parenthesized_expression "((byte)uStack_6c & 0x1f)" (( "(") (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_6c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);" (assignment_expression "lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14)" (identifier "lVar34") (= "=") (binary_expression "lVar34 + -1 + CONCAT44(iVar10,iVar14)" (binary_expression "lVar34 + -1" (identifier "lVar34") (+ "+") (number_literal "-1")) (+ "+") (call_expression "CONCAT44(iVar10,iVar14)" (identifier "CONCAT44") (argument_list "(iVar10,iVar14)" (( "(") (identifier "iVar10") (, ",") (identifier "iVar14") () ")"))))) (; ";")) (expression_statement "uVar13 = -iVar14 & (uint)lVar34;" (assignment_expression "uVar13 = -iVar14 & (uint)lVar34" (identifier "uVar13") (= "=") (binary_expression "-iVar14 & (uint)lVar34" (unary_expression "-iVar14" (- "-") (identifier "iVar14")) (& "&") (cast_expression "(uint)lVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar34")))) (; ";")) (expression_statement "uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20)" (identifier "uVar11") (= "=") (binary_expression "-(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20)" (unary_expression "-(iVar10 + (uint)(iVar14 != 0))" (- "-") (parenthesized_expression "(iVar10 + (uint)(iVar14 != 0))" (( "(") (binary_expression "iVar10 + (uint)(iVar14 != 0)" (identifier "iVar10") (+ "+") (call_expression "(uint)(iVar14 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")))) () ")"))) (& "&") (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uStack_54 = uVar13 - uStack_64;" (assignment_expression "uStack_54 = uVar13 - uStack_64" (identifier "uStack_54") (= "=") (binary_expression "uVar13 - uStack_64" (identifier "uVar13") (- "-") (identifier "uStack_64"))) (; ";")) (expression_statement "iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);" (assignment_expression "iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64)" (identifier "iStack_50") (= "=") (binary_expression "(uVar11 - iStack_60) - (uint)(uVar13 < uStack_64)" (parenthesized_expression "(uVar11 - iStack_60)" (( "(") (binary_expression "uVar11 - iStack_60" (identifier "uVar11") (- "-") (identifier "iStack_60")) () ")")) (- "-") (call_expression "(uint)(uVar13 < uStack_64)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar13 < uStack_64)" (( "(") (binary_expression "uVar13 < uStack_64" (identifier "uVar13") (< "<") (identifier "uStack_64")) () ")"))))) (; ";")) (expression_statement "lVar34 = CONCAT44(uVar11,uVar13);" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" (identifier "lVar34") (= "=") (call_expression "CONCAT44(uVar11,uVar13)" (identifier "CONCAT44") (argument_list "(uVar11,uVar13)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar13") () ")")))) (; ";")) (if_statement "if (((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }" (if "if") (parenthesized_expression "(((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1))" (( "(") (binary_expression "((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))\n                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)" (parenthesized_expression "((iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))" (( "(") (binary_expression "(iStack_50 != 0 || uStack_54 != 0) &&\n                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)))" (parenthesized_expression "(iStack_50 != 0 || uStack_54 != 0)" (( "(") (binary_expression "iStack_50 != 0 || uStack_54 != 0" (binary_expression "iStack_50 != 0" (identifier "iStack_50") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uStack_54 != 0" (identifier "uStack_54") (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)))" (( "(") (parenthesized_expression "(iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))" (( "(") (binary_expression "iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)" (binary_expression "iRam00093da4 != 0" (identifier "iRam00093da4") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0)" (( "(") (comma_expression "lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" (identifier "lVar34") (= "=") (call_expression "CONCAT44(uVar11,uVar13)" (identifier "CONCAT44") (argument_list "(uVar11,uVar13)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar13") () ")")))) (, ",") (binary_expression "local_9c[0xb] != 0" (subscript_expression "local_9c[0xb]" (identifier "local_9c") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)" (( "(") (comma_expression "lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" (identifier "lVar34") (= "=") (call_expression "CONCAT44(uVar11,uVar13)" (identifier "CONCAT44") (argument_list "(uVar11,uVar13)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar13") () ")")))) (, ",") (binary_expression "DAT_00093e20 != 1" (identifier "DAT_00093e20") (!= "!=") (number_literal "1"))) () ")"))) () ")")) (compound_statement "{\n                iVar14 = local_9c[6];\n                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);\n                FUN_00032ba0(uVar16,iVar14,uStack_54);\n                puStack_7c = (undefined4 *)local_9c[7];\n                lVar34 = CONCAT44(uVar11,uVar13);\n              }" ({ "{") (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" (identifier "iVar14") (= "=") (subscript_expression "local_9c[6]" (identifier "local_9c") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5);" (assignment_expression "uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5)" (identifier "uVar16") (= "=") (call_expression "dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5)" (identifier "dcngettext") (argument_list "(0,"%P: warning: changing start of section %s by %lu byte\n",\n                                    "%P: warning: changing start of section %s by %lu bytes\n",\n                                    uStack_54,5)" (( "(") (number_literal "0") (, ",") (string_literal ""%P: warning: changing start of section %s by %lu byte\n"" (" """) (string_content "%P: warning: changing start of section %s by %lu byte") (escape_sequence "\n") (" """)) (, ",") (string_literal ""%P: warning: changing start of section %s by %lu bytes\n"" (" """) (string_content "%P: warning: changing start of section %s by %lu bytes") (escape_sequence "\n") (" """)) (, ",") (identifier "uStack_54") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00032ba0(uVar16,iVar14,uStack_54);" (call_expression "FUN_00032ba0(uVar16,iVar14,uStack_54)" (identifier "FUN_00032ba0") (argument_list "(uVar16,iVar14,uStack_54)" (( "(") (identifier "uVar16") (, ",") (identifier "iVar14") (, ",") (identifier "uStack_54") () ")"))) (; ";")) (expression_statement "puStack_7c = (undefined4 *)local_9c[7];" (assignment_expression "puStack_7c = (undefined4 *)local_9c[7]" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)local_9c[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "lVar34 = CONCAT44(uVar11,uVar13);" (assignment_expression "lVar34 = CONCAT44(uVar11,uVar13)" (identifier "lVar34") (= "=") (call_expression "CONCAT44(uVar11,uVar13)" (identifier "CONCAT44") (argument_list "(uVar11,uVar13)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar13") () ")")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;" (assignment_expression "*(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" (* "*") (cast_expression "(byte *)(puStack_7c + 6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_7c + 6)" (( "(") (binary_expression "puStack_7c + 6" (identifier "puStack_7c") (+ "+") (number_literal "6")) () ")")))) (= "=") (binary_expression "*(byte *)(puStack_7c + 6) | 1" (pointer_expression "*(byte *)(puStack_7c + 6)" (* "*") (cast_expression "(byte *)(puStack_7c + 6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_7c + 6)" (( "(") (binary_expression "puStack_7c + 6" (identifier "puStack_7c") (+ "+") (number_literal "6")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(longlong *)(puStack_7c + 9) = lVar34;" (assignment_expression "*(longlong *)(puStack_7c + 9) = lVar34" (pointer_expression "*(longlong *)(puStack_7c + 9)" (* "*") (cast_expression "(longlong *)(puStack_7c + 9)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_7c + 9)" (( "(") (binary_expression "puStack_7c + 9" (identifier "puStack_7c") (+ "+") (number_literal "9")) () ")")))) (= "=") (identifier "lVar34")) (; ";")) (expression_statement "*(longlong *)(puStack_7c + 7) = lVar34;" (assignment_expression "*(longlong *)(puStack_7c + 7) = lVar34" (pointer_expression "*(longlong *)(puStack_7c + 7)" (* "*") (cast_expression "(longlong *)(puStack_7c + 7)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_7c + 7)" (( "(") (binary_expression "puStack_7c + 7" (identifier "puStack_7c") (+ "+") (number_literal "7")) () ")")))) (= "=") (identifier "lVar34")) (; ";")) (expression_statement "puStack_7c[0x13] = 0;" (assignment_expression "puStack_7c[0x13] = 0" (subscript_expression "puStack_7c[0x13]" (identifier "puStack_7c") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_7c[0x14] = 0;" (assignment_expression "puStack_7c[0x14] = 0" (subscript_expression "puStack_7c[0x14]" (identifier "puStack_7c") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "FUN_00021f80(lVar34,param_5,param_6);" (call_expression "FUN_00021f80(lVar34,param_5,param_6)" (identifier "FUN_00021f80") (argument_list "(lVar34,param_5,param_6)" (( "(") (identifier "lVar34") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")"))) (; ";")) (expression_statement "bVar22 = *(byte *)(local_9c + 0x15);" (assignment_expression "bVar22 = *(byte *)(local_9c + 0x15)" (identifier "bVar22") (= "=") (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")"))))) (; ";")) (expression_statement "puVar2 = (undefined *)local_9c[7];" (assignment_expression "puVar2 = (undefined *)local_9c[7]" (identifier "puVar2") (= "=") (cast_expression "(undefined *)local_9c[7]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "*(byte *)(local_9c + 0x15) = bVar22 | 1;" (assignment_expression "*(byte *)(local_9c + 0x15) = bVar22 | 1" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (= "=") (binary_expression "bVar22 | 1" (identifier "bVar22") (| "|") (number_literal "1"))) (; ";")) (if_statement "if (puVar2 == puVar6 + 0x180) {\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }\n          else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }" (if "if") (parenthesized_expression "(puVar2 == puVar6 + 0x180)" (( "(") (binary_expression "puVar2 == puVar6 + 0x180" (identifier "puVar2") (== "==") (binary_expression "puVar6 + 0x180" (identifier "puVar6") (+ "+") (number_literal "0x180"))) () ")")) (compound_statement "{\n            uStack_80 = *(uint *)(puVar6 + 0x1b0);\n            puStack_84 = *(undefined **)(puVar6 + 0x1ac);\ncode_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }\n          }" ({ "{") (expression_statement "uStack_80 = *(uint *)(puVar6 + 0x1b0);" (assignment_expression "uStack_80 = *(uint *)(puVar6 + 0x1b0)" (identifier "uStack_80") (= "=") (pointer_expression "*(uint *)(puVar6 + 0x1b0)" (* "*") (cast_expression "(uint *)(puVar6 + 0x1b0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x1b0)" (( "(") (binary_expression "puVar6 + 0x1b0" (identifier "puVar6") (+ "+") (number_literal "0x1b0")) () ")"))))) (; ";")) (expression_statement "puStack_84 = *(undefined **)(puVar6 + 0x1ac);" (assignment_expression "puStack_84 = *(undefined **)(puVar6 + 0x1ac)" (identifier "puStack_84") (= "=") (pointer_expression "*(undefined **)(puVar6 + 0x1ac)" (* "*") (cast_expression "(undefined **)(puVar6 + 0x1ac)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x1ac)" (( "(") (binary_expression "puVar6 + 0x1ac" (identifier "puVar6") (+ "+") (number_literal "0x1ac")) () ")"))))) (; ";")) (labeled_statement "code_r0x00022aad:\n            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }" (statement_identifier "code_r0x00022aad") (: ":") (if_statement "if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }" (if "if") (parenthesized_expression "(uStack_80 != 0 || puStack_84 != (undefined *)0x0)" (( "(") (binary_expression "uStack_80 != 0 || puStack_84 != (undefined *)0x0" (binary_expression "uStack_80 != 0" (identifier "uStack_80") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "puStack_84 != (undefined *)0x0" (identifier "puStack_84") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n              FUN_00032bf0("../../ld/ldlang.c",0x1443);\n            }" ({ "{") (expression_statement "FUN_00032bf0("../../ld/ldlang.c",0x1443);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",0x1443)" (identifier "FUN_00032bf0") (argument_list "("../../ld/ldlang.c",0x1443)" (( "(") (string_literal ""../../ld/ldlang.c"" (" """) (string_content "../../ld/ldlang.c") (" """)) (, ",") (number_literal "0x1443") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }" (else "else") (compound_statement "{\n            puStack_84 = *(undefined **)(puVar2 + 0x2c);\n            uStack_80 = *(uint *)(puVar2 + 0x30);\n            if ((bVar22 & 8) != 0) goto code_r0x00022aad;\n            puVar1 = (uint *)(puVar2 + 0x1c);\n            uVar11 = *puVar1;\n            local_34 = *(longlong *)puVar1;\n            if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }\n          }" ({ "{") (expression_statement "puStack_84 = *(undefined **)(puVar2 + 0x2c);" (assignment_expression "puStack_84 = *(undefined **)(puVar2 + 0x2c)" (identifier "puStack_84") (= "=") (pointer_expression "*(undefined **)(puVar2 + 0x2c)" (* "*") (cast_expression "(undefined **)(puVar2 + 0x2c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x2c)" (( "(") (binary_expression "puVar2 + 0x2c" (identifier "puVar2") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uStack_80 = *(uint *)(puVar2 + 0x30);" (assignment_expression "uStack_80 = *(uint *)(puVar2 + 0x30)" (identifier "uStack_80") (= "=") (pointer_expression "*(uint *)(puVar2 + 0x30)" (* "*") (cast_expression "(uint *)(puVar2 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x30)" (( "(") (binary_expression "puVar2 + 0x30" (identifier "puVar2") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if ((bVar22 & 8) != 0) goto code_r0x00022aad;" (if "if") (parenthesized_expression "((bVar22 & 8) != 0)" (( "(") (binary_expression "(bVar22 & 8) != 0" (parenthesized_expression "(bVar22 & 8)" (( "(") (binary_expression "bVar22 & 8" (identifier "bVar22") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00022aad;" (goto "goto") (statement_identifier "code_r0x00022aad") (; ";"))) (expression_statement "puVar1 = (uint *)(puVar2 + 0x1c);" (assignment_expression "puVar1 = (uint *)(puVar2 + 0x1c)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(puVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x1c)" (( "(") (binary_expression "puVar2 + 0x1c" (identifier "puVar2") (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" (identifier "uVar11") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "local_34 = *(longlong *)puVar1;" (assignment_expression "local_34 = *(longlong *)puVar1" (identifier "local_34") (= "=") (pointer_expression "*(longlong *)puVar1" (* "*") (cast_expression "(longlong *)puVar1" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (if_statement "if ((puVar2[0x15] & 8) == 0) {\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }" (if "if") (parenthesized_expression "((puVar2[0x15] & 8) == 0)" (( "(") (binary_expression "(puVar2[0x15] & 8) == 0" (parenthesized_expression "(puVar2[0x15] & 8)" (( "(") (binary_expression "puVar2[0x15] & 8" (subscript_expression "puVar2[0x15]" (identifier "puVar2") ([ "[") (number_literal "0x15") (] "]")) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar13 = local_9c[0xf];\n              uVar19 = (uVar11 + uVar13) - 1;\n              bVar22 = (byte)DAT_0009386c;\n              uVar27 = uStack_80 >> (bVar22 & 0x1f);\n              uVar15 = uVar27;\n              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }\n              uVar29 = uVar19 + uVar12 & -uVar13;\n              uVar23 = uVar29 - uVar11;\n              uVar26 = uVar23 << (bVar22 & 0x1f);\n              uVar27 = uVar26;\n              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);\n              if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }\n              *(uint *)(puVar2 + 0x30) = uVar11;\n              *(uint *)(puVar2 + 0x2c) = uVar27;\n              local_34 = *(longlong *)puVar1;\n            }" ({ "{") (expression_statement "uVar13 = local_9c[0xf];" (assignment_expression "uVar13 = local_9c[0xf]" (identifier "uVar13") (= "=") (subscript_expression "local_9c[0xf]" (identifier "local_9c") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "uVar19 = (uVar11 + uVar13) - 1;" (assignment_expression "uVar19 = (uVar11 + uVar13) - 1" (identifier "uVar19") (= "=") (binary_expression "(uVar11 + uVar13) - 1" (parenthesized_expression "(uVar11 + uVar13)" (( "(") (binary_expression "uVar11 + uVar13" (identifier "uVar11") (+ "+") (identifier "uVar13")) () ")")) (- "-") (number_literal "1"))) (; ";")) (expression_statement "bVar22 = (byte)DAT_0009386c;" (assignment_expression "bVar22 = (byte)DAT_0009386c" (identifier "bVar22") (= "=") (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c"))) (; ";")) (expression_statement "uVar27 = uStack_80 >> (bVar22 & 0x1f);" (assignment_expression "uVar27 = uStack_80 >> (bVar22 & 0x1f)" (identifier "uVar27") (= "=") (binary_expression "uStack_80 >> (bVar22 & 0x1f)" (identifier "uStack_80") (>> ">>") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar15 = uVar27;" (assignment_expression "uVar15 = uVar27" (identifier "uVar15") (= "=") (identifier "uVar27")) (; ";")) (expression_statement "uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f)" (identifier "uVar12") (= "=") (binary_expression "(uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f)" (binary_expression "(uint)puStack_84 >> (bVar22 & 0x1f)" (cast_expression "(uint)puStack_84" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puStack_84")) (>> ">>") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uStack_80 << 0x20 - (bVar22 & 0x1f)" (identifier "uStack_80") (<< "<<") (binary_expression "0x20 - (bVar22 & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }" (if "if") (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" (( "(") (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" (( "(") (binary_expression "DAT_0009386c & 0x20" (identifier "DAT_0009386c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar15 = 0;\n                uVar12 = uVar27;\n              }" ({ "{") (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = uVar27;" (assignment_expression "uVar12 = uVar27" (identifier "uVar12") (= "=") (identifier "uVar27")) (; ";")) (} "}"))) (expression_statement "uVar29 = uVar19 + uVar12 & -uVar13;" (assignment_expression "uVar29 = uVar19 + uVar12 & -uVar13" (identifier "uVar29") (= "=") (binary_expression "uVar19 + uVar12 & -uVar13" (binary_expression "uVar19 + uVar12" (identifier "uVar19") (+ "+") (identifier "uVar12")) (& "&") (unary_expression "-uVar13" (- "-") (identifier "uVar13")))) (; ";")) (expression_statement "uVar23 = uVar29 - uVar11;" (assignment_expression "uVar23 = uVar29 - uVar11" (identifier "uVar23") (= "=") (binary_expression "uVar29 - uVar11" (identifier "uVar29") (- "-") (identifier "uVar11"))) (; ";")) (expression_statement "uVar26 = uVar23 << (bVar22 & 0x1f);" (assignment_expression "uVar26 = uVar23 << (bVar22 & 0x1f)" (identifier "uVar26") (= "=") (binary_expression "uVar23 << (bVar22 & 0x1f)" (identifier "uVar23") (<< "<<") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar27 = uVar26;" (assignment_expression "uVar27 = uVar26" (identifier "uVar27") (= "=") (identifier "uVar26")) (; ";")) (expression_statement "uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f)" (identifier "uVar11") (= "=") (binary_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f)" (binary_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)\n                       << (bVar22 & 0x1f)" (binary_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)" (parenthesized_expression "((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20))" (( "(") (binary_expression "(*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)" (parenthesized_expression "(*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0))" (( "(") (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &\n                        -(uint)(uVar13 != 0)" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12)" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0) + uVar15" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +\n                         (uint)(uVar11 + uVar13 != 0)" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1" (binary_expression "*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13)" (pointer_expression "*(int *)(puVar2 + 0x20)" (* "*") (cast_expression "(int *)(puVar2 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x20)" (( "(") (binary_expression "puVar2 + 0x20" (identifier "puVar2") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (cast_expression "(uint)CARRY4(uVar11,uVar13)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar11,uVar13)" (identifier "CARRY4") (argument_list "(uVar11,uVar13)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar13") () ")"))))) (+ "+") (number_literal "-1")) (+ "+") (call_expression "(uint)(uVar11 + uVar13 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar11 + uVar13 != 0)" (( "(") (binary_expression "uVar11 + uVar13 != 0" (binary_expression "uVar11 + uVar13" (identifier "uVar11") (+ "+") (identifier "uVar13")) (!= "!=") (number_literal "0")) () ")")))) (+ "+") (identifier "uVar15")) (+ "+") (cast_expression "(uint)CARRY4(uVar19,uVar12)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar19,uVar12)" (identifier "CARRY4") (argument_list "(uVar19,uVar12)" (( "(") (identifier "uVar19") (, ",") (identifier "uVar12") () ")"))))) (& "&") (unary_expression "-(uint)(uVar13 != 0)" (- "-") (call_expression "(uint)(uVar13 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar13 != 0)" (( "(") (binary_expression "uVar13 != 0" (identifier "uVar13") (!= "!=") (number_literal "0")) () ")"))))) () ")")) (- "-") (pointer_expression "*(int *)(puVar2 + 0x20)" (* "*") (cast_expression "(int *)(puVar2 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x20)" (( "(") (binary_expression "puVar2 + 0x20" (identifier "puVar2") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (- "-") (call_expression "(uint)(uVar29 < uVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar29 < uVar11)" (( "(") (binary_expression "uVar29 < uVar11" (identifier "uVar29") (< "<") (identifier "uVar11")) () ")")))) (<< "<<") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar23 >> 0x20 - (bVar22 & 0x1f)" (identifier "uVar23") (>> ">>") (binary_expression "0x20 - (bVar22 & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }" (if "if") (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" (( "(") (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" (( "(") (binary_expression "DAT_0009386c & 0x20" (identifier "DAT_0009386c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar27 = 0;\n                uVar11 = uVar26;\n              }" ({ "{") (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" (identifier "uVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = uVar26;" (assignment_expression "uVar11 = uVar26" (identifier "uVar11") (= "=") (identifier "uVar26")) (; ";")) (} "}"))) (expression_statement "*(uint *)(puVar2 + 0x30) = uVar11;" (assignment_expression "*(uint *)(puVar2 + 0x30) = uVar11" (pointer_expression "*(uint *)(puVar2 + 0x30)" (* "*") (cast_expression "(uint *)(puVar2 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x30)" (( "(") (binary_expression "puVar2 + 0x30" (identifier "puVar2") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(uint *)(puVar2 + 0x2c) = uVar27;" (assignment_expression "*(uint *)(puVar2 + 0x2c) = uVar27" (pointer_expression "*(uint *)(puVar2 + 0x2c)" (* "*") (cast_expression "(uint *)(puVar2 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x2c)" (( "(") (binary_expression "puVar2 + 0x2c" (identifier "puVar2") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar27")) (; ";")) (expression_statement "local_34 = *(longlong *)puVar1;" (assignment_expression "local_34 = *(longlong *)puVar1" (identifier "local_34") (= "=") (pointer_expression "*(longlong *)puVar1" (* "*") (cast_expression "(longlong *)puVar1" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "uStack_64 = local_9c[8];" (assignment_expression "uStack_64 = local_9c[8]" (identifier "uStack_64") (= "=") (subscript_expression "local_9c[8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (uStack_64 == 0) {\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }" (if "if") (parenthesized_expression "(uStack_64 == 0)" (( "(") (binary_expression "uStack_64 == 0" (identifier "uStack_64") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uStack_64 = FUN_00021e10("*default*",0);\n            lVar34 = local_34;\n          }" ({ "{") (expression_statement "uStack_64 = FUN_00021e10("*default*",0);" (assignment_expression "uStack_64 = FUN_00021e10("*default*",0)" (identifier "uStack_64") (= "=") (call_expression "FUN_00021e10("*default*",0)" (identifier "FUN_00021e10") (argument_list "("*default*",0)" (( "(") (string_literal ""*default*"" (" """) (string_content "*default*") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (} "}"))) (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (= "=") (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" (identifier "local_34") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint)lVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar34"))) (; ";")) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" (identifier "local_34") (= "=") (identifier "lVar34")) (; ";")) (if_statement "if (local_9c[0xc] == 0) {\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }\n          else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(local_9c[0xc] == 0)" (( "(") (binary_expression "local_9c[0xc] == 0" (subscript_expression "local_9c[0xc]" (identifier "local_9c") ([ "[") (number_literal "0xc") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puStack_84 = (undefined *)local_9c[7];\n            iVar14 = local_9c[9];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }\n            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;\n            if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n          }" ({ "{") (expression_statement "puStack_84 = (undefined *)local_9c[7];" (assignment_expression "puStack_84 = (undefined *)local_9c[7]" (identifier "puStack_84") (= "=") (cast_expression "(undefined *)local_9c[7]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "iVar14 = local_9c[9];" (assignment_expression "iVar14 = local_9c[9]" (identifier "iVar14") (= "=") (subscript_expression "local_9c[9]" (identifier "local_9c") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x14);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x14)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(puStack_84 + 0x14)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x14)" (( "(") (binary_expression "puStack_84 + 0x14" (identifier "puStack_84") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "puStack_7c = (undefined4 *)(uVar11 & 1);" (assignment_expression "puStack_7c = (undefined4 *)(uVar11 & 1)" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)(uVar11 & 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 & 1)" (( "(") (binary_expression "uVar11 & 1" (identifier "uVar11") (& "&") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (iVar14 != 0) {\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uStack_4c = *(uint *)(iVar14 + 0x24);\n              uStack_48 = *(uint *)(iVar14 + 0x28);\n              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }\n              *(uint *)(puStack_84 + 0x24) = uStack_4c;\n              *(uint *)(puStack_84 + 0x28) = uStack_48;\n              goto code_r0x0002263c;\n            }" ({ "{") (expression_statement "uStack_4c = *(uint *)(iVar14 + 0x24);" (assignment_expression "uStack_4c = *(uint *)(iVar14 + 0x24)" (identifier "uStack_4c") (= "=") (pointer_expression "*(uint *)(iVar14 + 0x24)" (* "*") (cast_expression "(uint *)(iVar14 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x24)" (( "(") (binary_expression "iVar14 + 0x24" (identifier "iVar14") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "uStack_48 = *(uint *)(iVar14 + 0x28);" (assignment_expression "uStack_48 = *(uint *)(iVar14 + 0x28)" (identifier "uStack_48") (= "=") (pointer_expression "*(uint *)(iVar14 + 0x28)" (* "*") (cast_expression "(uint *)(iVar14 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }\n              else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }" (if "if") (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)(local_9c + 0x15) & 0x40) == 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 0x40)" (( "(") (binary_expression "*(byte *)(local_9c + 0x15) & 0x40" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }\n              }" ({ "{") (if_statement "if (iVar14 != local_9c[8]) {\n                  uStack_6c = local_9c[0x11];\n                }" (if "if") (parenthesized_expression "(iVar14 != local_9c[8])" (( "(") (binary_expression "iVar14 != local_9c[8]" (identifier "iVar14") (!= "!=") (subscript_expression "local_9c[8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]"))) () ")")) (compound_statement "{\n                  uStack_6c = local_9c[0x11];\n                }" ({ "{") (expression_statement "uStack_6c = local_9c[0x11];" (assignment_expression "uStack_6c = local_9c[0x11]" (identifier "uStack_6c") (= "=") (subscript_expression "local_9c[0x11]" (identifier "local_9c") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (} "}"))) (if_statement "if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }" (if "if") (parenthesized_expression "(0 < (int)uStack_6c)" (( "(") (binary_expression "0 < (int)uStack_6c" (number_literal "0") (< "<") (cast_expression "(int)uStack_6c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_6c"))) () ")")) (compound_statement "{\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  bVar31 = uStack_4c != 0;\n                  uVar15 = uStack_4c - 1;\n                  uStack_4c = uVar15 + uVar12 & -uVar12;\n                  uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);\n                }" ({ "{") (expression_statement "bVar22 = (byte)uStack_6c & 0x1f;" (assignment_expression "bVar22 = (byte)uStack_6c & 0x1f" (identifier "bVar22") (= "=") (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_6c")) (& "&") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar15 = 1 << ((byte)uStack_6c & 0x1f);" (assignment_expression "uVar15 = 1 << ((byte)uStack_6c & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "1 << ((byte)uStack_6c & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uStack_6c & 0x1f)" (( "(") (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_6c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" (identifier "uVar12") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;" (assignment_expression "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22" (identifier "uVar13") (= "=") (binary_expression "0 << bVar22 | 1U >> 0x20 - bVar22" (binary_expression "0 << bVar22" (number_literal "0") (<< "<<") (identifier "bVar22")) (| "|") (binary_expression "1U >> 0x20 - bVar22" (number_literal "1U") (>> ">>") (binary_expression "0x20 - bVar22" (number_literal "0x20") (- "-") (identifier "bVar22"))))) (; ";")) (if_statement "if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" (if "if") (parenthesized_expression "((uStack_6c & 0x20) != 0)" (( "(") (binary_expression "(uStack_6c & 0x20) != 0" (parenthesized_expression "(uStack_6c & 0x20)" (( "(") (binary_expression "uStack_6c & 0x20" (identifier "uStack_6c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = uVar15;" (assignment_expression "uVar13 = uVar15" (identifier "uVar13") (= "=") (identifier "uVar15")) (; ";")) (} "}"))) (expression_statement "bVar31 = uStack_4c != 0;" (assignment_expression "bVar31 = uStack_4c != 0" (identifier "bVar31") (= "=") (binary_expression "uStack_4c != 0" (identifier "uStack_4c") (!= "!=") (number_literal "0"))) (; ";")) (expression_statement "uVar15 = uStack_4c - 1;" (assignment_expression "uVar15 = uStack_4c - 1" (identifier "uVar15") (= "=") (binary_expression "uStack_4c - 1" (identifier "uStack_4c") (- "-") (number_literal "1"))) (; ";")) (expression_statement "uStack_4c = uVar15 + uVar12 & -uVar12;" (assignment_expression "uStack_4c = uVar15 + uVar12 & -uVar12" (identifier "uStack_4c") (= "=") (binary_expression "uVar15 + uVar12 & -uVar12" (binary_expression "uVar15 + uVar12" (identifier "uVar15") (+ "+") (identifier "uVar12")) (& "&") (unary_expression "-uVar12" (- "-") (identifier "uVar12")))) (; ";")) (expression_statement "uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);" (assignment_expression "uStack_48 = -(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12)" (identifier "uStack_48") (= "=") (binary_expression "-(uVar13 + (uVar12 != 0)) &\n                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12)" (unary_expression "-(uVar13 + (uVar12 != 0))" (- "-") (parenthesized_expression "(uVar13 + (uVar12 != 0))" (( "(") (binary_expression "uVar13 + (uVar12 != 0)" (identifier "uVar13") (+ "+") (parenthesized_expression "(uVar12 != 0)" (( "(") (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) () ")"))) () ")"))) (& "&") (binary_expression "(uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12)" (binary_expression "(uStack_48 - 1) + (uint)bVar31 + uVar13" (binary_expression "(uStack_48 - 1) + (uint)bVar31" (parenthesized_expression "(uStack_48 - 1)" (( "(") (binary_expression "uStack_48 - 1" (identifier "uStack_48") (- "-") (number_literal "1")) () ")")) (+ "+") (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31"))) (+ "+") (identifier "uVar13")) (+ "+") (cast_expression "(uint)CARRY4(uVar15,uVar12)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar15,uVar12)" (identifier "CARRY4") (argument_list "(uVar15,uVar12)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar12") () ")"))))))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }" (else "else") (compound_statement "{\n                bVar31 = CARRY4(uStack_4c,uStack_54);\n                uStack_4c = uStack_4c + uStack_54;\n                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;\n              }" ({ "{") (expression_statement "bVar31 = CARRY4(uStack_4c,uStack_54);" (assignment_expression "bVar31 = CARRY4(uStack_4c,uStack_54)" (identifier "bVar31") (= "=") (call_expression "CARRY4(uStack_4c,uStack_54)" (identifier "CARRY4") (argument_list "(uStack_4c,uStack_54)" (( "(") (identifier "uStack_4c") (, ",") (identifier "uStack_54") () ")")))) (; ";")) (expression_statement "uStack_4c = uStack_4c + uStack_54;" (assignment_expression "uStack_4c = uStack_4c + uStack_54" (identifier "uStack_4c") (= "=") (binary_expression "uStack_4c + uStack_54" (identifier "uStack_4c") (+ "+") (identifier "uStack_54"))) (; ";")) (expression_statement "uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;" (assignment_expression "uStack_48 = uStack_48 + iStack_50 + (uint)bVar31" (identifier "uStack_48") (= "=") (binary_expression "uStack_48 + iStack_50 + (uint)bVar31" (binary_expression "uStack_48 + iStack_50" (identifier "uStack_48") (+ "+") (identifier "iStack_50")) (+ "+") (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")))) (; ";")) (} "}")))) (expression_statement "*(uint *)(puStack_84 + 0x24) = uStack_4c;" (assignment_expression "*(uint *)(puStack_84 + 0x24) = uStack_4c" (pointer_expression "*(uint *)(puStack_84 + 0x24)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x24)" (( "(") (binary_expression "puStack_84 + 0x24" (identifier "puStack_84") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "uStack_4c")) (; ";")) (expression_statement "*(uint *)(puStack_84 + 0x28) = uStack_48;" (assignment_expression "*(uint *)(puStack_84 + 0x28) = uStack_48" (pointer_expression "*(uint *)(puStack_84 + 0x28)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x28)" (( "(") (binary_expression "puStack_84 + 0x28" (identifier "puStack_84") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uStack_48")) (; ";")) (goto_statement "goto code_r0x0002263c;" (goto "goto") (statement_identifier "code_r0x0002263c") (; ";")) (} "}"))) (if_statement "if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;" (if "if") (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) == 0)" (( "(") (binary_expression "*(int *)(uStack_64 + 0x2c) == 0" (pointer_expression "*(int *)(uStack_64 + 0x2c)" (* "*") (cast_expression "(int *)(uStack_64 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_64 + 0x2c)" (( "(") (binary_expression "uStack_64 + 0x2c" (identifier "uStack_64") (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0002263c;" (goto "goto") (statement_identifier "code_r0x0002263c") (; ";"))) (if_statement "if (puStack_7c != (undefined4 *)0x0) {\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }" (if "if") (parenthesized_expression "(puStack_7c != (undefined4 *)0x0)" (( "(") (binary_expression "puStack_7c != (undefined4 *)0x0" (identifier "puStack_7c") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n              uVar13 = *(uint *)(iVar14 + 0x1c);\n              uVar12 = *(uint *)(iVar14 + 0x20);\n              uVar15 = *(uint *)(iVar14 + 0x24);\n              bVar22 = (byte)DAT_0009386c;\n              if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }\n              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n              goto code_r0x00022648;\n            }" ({ "{") (expression_statement "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);" (assignment_expression "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) + 0x1c)" (( "(") (binary_expression "*(int *)(uStack_64 + 0x2c) + 0x1c" (pointer_expression "*(int *)(uStack_64 + 0x2c)" (* "*") (cast_expression "(int *)(uStack_64 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_64 + 0x2c)" (( "(") (binary_expression "uStack_64 + 0x2c" (identifier "uStack_64") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar14 + 0x1c);" (assignment_expression "uVar13 = *(uint *)(iVar14 + 0x1c)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar14 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x1c)" (( "(") (binary_expression "iVar14 + 0x1c" (identifier "iVar14") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar14 + 0x20);" (assignment_expression "uVar12 = *(uint *)(iVar14 + 0x20)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar14 + 0x20)" (* "*") (cast_expression "(uint *)(iVar14 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(uint *)(iVar14 + 0x24);" (assignment_expression "uVar15 = *(uint *)(iVar14 + 0x24)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(iVar14 + 0x24)" (* "*") (cast_expression "(uint *)(iVar14 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x24)" (( "(") (binary_expression "iVar14 + 0x24" (identifier "iVar14") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "bVar22 = (byte)DAT_0009386c;" (assignment_expression "bVar22 = (byte)DAT_0009386c" (identifier "bVar22") (= "=") (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c"))) (; ";")) (if_statement "if (local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }\n              else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }" (if "if") (parenthesized_expression "(local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13))" (( "(") (binary_expression "local_34._4_4_ < uVar12 ||\n                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)" (binary_expression "local_34._4_4_ < uVar12" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (< "<") (identifier "uVar12")) (|| "||") (binary_expression "local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)" (binary_expression "local_34._4_4_ - uVar12" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (- "-") (identifier "uVar12")) (< "<") (call_expression "(uint)((uint)local_34 < uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)local_34 < uVar13)" (( "(") (binary_expression "(uint)local_34 < uVar13" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (< "<") (identifier "uVar13")) () ")"))))) () ")")) (compound_statement "{\n                uVar19 = *(uint *)(puStack_84 + 0x30);\n                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;\n                uVar26 = uVar19 >> (bVar22 & 0x1f);\n                uVar27 = uVar26;\n                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);\n                if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }\n                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);\n                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);\n                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;\n                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }\n              }" ({ "{") (expression_statement "uVar19 = *(uint *)(puStack_84 + 0x30);" (assignment_expression "uVar19 = *(uint *)(puStack_84 + 0x30)" (identifier "uVar19") (= "=") (pointer_expression "*(uint *)(puStack_84 + 0x30)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x30)" (( "(") (binary_expression "puStack_84 + 0x30" (identifier "puStack_84") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;" (if "if") (parenthesized_expression "(uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0)" (( "(") (binary_expression "uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0" (binary_expression "uVar19 == 0" (identifier "uVar19") (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(uint *)(puStack_84 + 0x2c) == 0" (pointer_expression "*(uint *)(puStack_84 + 0x2c)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x2c)" (( "(") (binary_expression "puStack_84 + 0x2c" (identifier "puStack_84") (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0"))) () ")")) (goto_statement "goto code_r0x000231ba;" (goto "goto") (statement_identifier "code_r0x000231ba") (; ";"))) (expression_statement "uVar26 = uVar19 >> (bVar22 & 0x1f);" (assignment_expression "uVar26 = uVar19 >> (bVar22 & 0x1f)" (identifier "uVar26") (= "=") (binary_expression "uVar19 >> (bVar22 & 0x1f)" (identifier "uVar19") (>> ">>") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar27 = uVar26;" (assignment_expression "uVar27 = uVar26" (identifier "uVar27") (= "=") (identifier "uVar26")) (; ";")) (expression_statement "uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f)" (identifier "uVar19") (= "=") (binary_expression "*(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |\n                         uVar19 << 0x20 - (bVar22 & 0x1f)" (binary_expression "*(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f)" (pointer_expression "*(uint *)(puStack_84 + 0x2c)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x2c)" (( "(") (binary_expression "puStack_84 + 0x2c" (identifier "puStack_84") (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar19 << 0x20 - (bVar22 & 0x1f)" (identifier "uVar19") (<< "<<") (binary_expression "0x20 - (bVar22 & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }" (if "if") (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" (( "(") (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" (( "(") (binary_expression "DAT_0009386c & 0x20" (identifier "DAT_0009386c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar27 = 0;\n                  uVar19 = uVar26;\n                }" ({ "{") (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" (identifier "uVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar19 = uVar26;" (assignment_expression "uVar19 = uVar26" (identifier "uVar19") (= "=") (identifier "uVar26")) (; ";")) (} "}"))) (expression_statement "lVar3 = lVar34 + CONCAT44(uVar27,uVar19);" (assignment_expression "lVar3 = lVar34 + CONCAT44(uVar27,uVar19)" (identifier "lVar3") (= "=") (binary_expression "lVar34 + CONCAT44(uVar27,uVar19)" (identifier "lVar34") (+ "+") (call_expression "CONCAT44(uVar27,uVar19)" (identifier "CONCAT44") (argument_list "(uVar27,uVar19)" (( "(") (identifier "uVar27") (, ",") (identifier "uVar19") () ")"))))) (; ";")) (expression_statement "uVar19 = (uint)((ulonglong)lVar3 >> 0x20);" (assignment_expression "uVar19 = (uint)((ulonglong)lVar3 >> 0x20)" (identifier "uVar19") (= "=") (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar3 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar3")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))\n                goto code_r0x000231ba;" (if "if") (parenthesized_expression "(uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))" (( "(") (binary_expression "uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3)" (binary_expression "uVar12 < uVar19" (identifier "uVar12") (< "<") (identifier "uVar19")) (|| "||") (binary_expression "uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3)" (binary_expression "uVar12 - uVar19" (identifier "uVar12") (- "-") (identifier "uVar19")) (< "<") (call_expression "(uint)(uVar13 < (uint)lVar3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar13 < (uint)lVar3)" (( "(") (binary_expression "uVar13 < (uint)lVar3" (identifier "uVar13") (< "<") (cast_expression "(uint)lVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar3"))) () ")"))))) () ")")) (goto_statement "goto code_r0x000231ba;" (goto "goto") (statement_identifier "code_r0x000231ba") (; ";"))) (if_statement "if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }" (if "if") (parenthesized_expression "(uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15)" (( "(") (binary_expression "uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15" (binary_expression "uVar12 != *(uint *)(iVar14 + 0x28)" (identifier "uVar12") (!= "!=") (pointer_expression "*(uint *)(iVar14 + 0x28)" (* "*") (cast_expression "(uint *)(iVar14 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")"))))) (|| "||") (binary_expression "uVar13 != uVar15" (identifier "uVar13") (!= "!=") (identifier "uVar15"))) () ")")) (compound_statement "{\n                  iVar14 = local_9c[6];\n                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);\n                  FUN_00032ba0(uVar16,iVar14);\n                  puStack_84 = (undefined *)local_9c[7];\n                  uVar11 = *(uint *)(puStack_84 + 0x14);\n                  puStack_7c = (undefined4 *)(uVar11 & 1);\n                  lVar34 = local_34;\n                  goto code_r0x0002263c;\n                }" ({ "{") (expression_statement "iVar14 = local_9c[6];" (assignment_expression "iVar14 = local_9c[6]" (identifier "iVar14") (= "=") (subscript_expression "local_9c[6]" (identifier "local_9c") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);" (assignment_expression "uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12)" (identifier "uVar16") (= "=") (call_expression "dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12)" (identifier "dcgettext") (argument_list "(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12)" (( "(") (number_literal "0") (, ",") (string_literal ""%P: warning: dot moved backwards before `%s\'\n"" (" """) (string_content "%P: warning: dot moved backwards before `%s") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") (, ",") (identifier "uVar12") () ")")))) (; ";")) (expression_statement "FUN_00032ba0(uVar16,iVar14);" (call_expression "FUN_00032ba0(uVar16,iVar14)" (identifier "FUN_00032ba0") (argument_list "(uVar16,iVar14)" (( "(") (identifier "uVar16") (, ",") (identifier "iVar14") () ")"))) (; ";")) (expression_statement "puStack_84 = (undefined *)local_9c[7];" (assignment_expression "puStack_84 = (undefined *)local_9c[7]" (identifier "puStack_84") (= "=") (cast_expression "(undefined *)local_9c[7]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x14);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x14)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(puStack_84 + 0x14)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x14)" (( "(") (binary_expression "puStack_84 + 0x14" (identifier "puStack_84") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "puStack_7c = (undefined4 *)(uVar11 & 1);" (assignment_expression "puStack_7c = (undefined4 *)(uVar11 & 1)" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)(uVar11 & 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 & 1)" (( "(") (binary_expression "uVar11 & 1" (identifier "uVar11") (& "&") (number_literal "1")) () ")")))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (goto_statement "goto code_r0x0002263c;" (goto "goto") (statement_identifier "code_r0x0002263c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }" (else "else") (compound_statement "{\ncode_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }\n                if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }\n                *(longlong *)(puStack_84 + 0x24) = lVar3;\n              }" ({ "{") (labeled_statement "code_r0x000231ba:\n                if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" (statement_identifier "code_r0x000231ba") (: ":") (if_statement "if (local_9c[0x14] == 1) {\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }\n                else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" (if "if") (parenthesized_expression "(local_9c[0x14] == 1)" (( "(") (binary_expression "local_9c[0x14] == 1" (subscript_expression "local_9c[0x14]" (identifier "local_9c") ([ "[") (number_literal "0x14") (] "]")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);\n                  uVar12 = uVar19;\n                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);\n                  if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }\n                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);\n                }" ({ "{") (expression_statement "uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);" (assignment_expression "uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f)" (identifier "uVar19") (= "=") (binary_expression "*(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" (* "*") (cast_expression "(uint *)(iVar14 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))) (>> ">>") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar12 = uVar19;" (assignment_expression "uVar12 = uVar19" (identifier "uVar12") (= "=") (identifier "uVar19")) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);" (assignment_expression "uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f)" (identifier "uVar13") (= "=") (binary_expression "*(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |\n                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f)" (binary_expression "*(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x2c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x2c)" (( "(") (binary_expression "iVar14 + 0x2c" (identifier "iVar14") (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "*(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" (* "*") (cast_expression "(uint *)(iVar14 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))) (<< "<<") (binary_expression "0x20 - (bVar22 & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "(bVar22 & 0x1f)" (( "(") (binary_expression "bVar22 & 0x1f" (identifier "bVar22") (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }" (if "if") (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" (( "(") (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" (( "(") (binary_expression "DAT_0009386c & 0x20" (identifier "DAT_0009386c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar12 = 0;\n                    uVar13 = uVar19;\n                  }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = uVar19;" (assignment_expression "uVar13 = uVar19" (identifier "uVar13") (= "=") (identifier "uVar19")) (; ";")) (} "}"))) (expression_statement "lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15);" (assignment_expression "lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15)" (identifier "lVar3") (= "=") (call_expression "CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15)" (identifier "CONCAT44") (argument_list "(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),\n                                   uVar13 + uVar15)" (( "(") (binary_expression "uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15)" (binary_expression "uVar12 + *(uint *)(iVar14 + 0x28)" (identifier "uVar12") (+ "+") (pointer_expression "*(uint *)(iVar14 + 0x28)" (* "*") (cast_expression "(uint *)(iVar14 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar13,uVar15)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar13,uVar15)" (identifier "CARRY4") (argument_list "(uVar13,uVar15)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar15") () ")"))))) (, ",") (binary_expression "uVar13 + uVar15" (identifier "uVar13") (+ "+") (identifier "uVar15")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" (else "else") (compound_statement "{\n                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);\n                }" ({ "{") (expression_statement "lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);" (assignment_expression "lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c)" (identifier "lVar3") (= "=") (binary_expression "(lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c)" (parenthesized_expression "(lVar34 + *(longlong *)(iVar14 + 0x24))" (( "(") (binary_expression "lVar34 + *(longlong *)(iVar14 + 0x24)" (identifier "lVar34") (+ "+") (pointer_expression "*(longlong *)(iVar14 + 0x24)" (* "*") (cast_expression "(longlong *)(iVar14 + 0x24)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x24)" (( "(") (binary_expression "iVar14 + 0x24" (identifier "iVar14") (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (- "-") (pointer_expression "*(longlong *)(iVar14 + 0x1c)" (* "*") (cast_expression "(longlong *)(iVar14 + 0x1c)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x1c)" (( "(") (binary_expression "iVar14 + 0x1c" (identifier "iVar14") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (} "}"))))) (if_statement "if (0 < (int)uStack_6c) {\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }" (if "if") (parenthesized_expression "(0 < (int)uStack_6c)" (( "(") (binary_expression "0 < (int)uStack_6c" (number_literal "0") (< "<") (cast_expression "(int)uStack_6c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_6c"))) () ")")) (compound_statement "{\n                  bVar22 = (byte)uStack_6c & 0x1f;\n                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);\n                  uVar12 = uVar15;\n                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n                  if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }\n                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);\n                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);\n                }" ({ "{") (expression_statement "bVar22 = (byte)uStack_6c & 0x1f;" (assignment_expression "bVar22 = (byte)uStack_6c & 0x1f" (identifier "bVar22") (= "=") (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_6c")) (& "&") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar15 = 1 << ((byte)uStack_6c & 0x1f);" (assignment_expression "uVar15 = 1 << ((byte)uStack_6c & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "1 << ((byte)uStack_6c & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uStack_6c & 0x1f)" (( "(") (binary_expression "(byte)uStack_6c & 0x1f" (cast_expression "(byte)uStack_6c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_6c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" (identifier "uVar12") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;" (assignment_expression "uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22" (identifier "uVar13") (= "=") (binary_expression "0 << bVar22 | 1U >> 0x20 - bVar22" (binary_expression "0 << bVar22" (number_literal "0") (<< "<<") (identifier "bVar22")) (| "|") (binary_expression "1U >> 0x20 - bVar22" (number_literal "1U") (>> ">>") (binary_expression "0x20 - bVar22" (number_literal "0x20") (- "-") (identifier "bVar22"))))) (; ";")) (if_statement "if ((uStack_6c & 0x20) != 0) {\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" (if "if") (parenthesized_expression "((uStack_6c & 0x20) != 0)" (( "(") (binary_expression "(uStack_6c & 0x20) != 0" (parenthesized_expression "(uStack_6c & 0x20)" (( "(") (binary_expression "uStack_6c & 0x20" (identifier "uStack_6c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar12 = 0;\n                    uVar13 = uVar15;\n                  }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = uVar15;" (assignment_expression "uVar13 = uVar15" (identifier "uVar13") (= "=") (identifier "uVar15")) (; ";")) (} "}"))) (expression_statement "lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);" (assignment_expression "lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" (identifier "lVar3") (= "=") (binary_expression "lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" (identifier "lVar3") (+ "+") (call_expression "CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" (identifier "CONCAT44") (argument_list "((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1)" (( "(") (binary_expression "(uVar13 - 1) + (uint)(uVar12 != 0)" (parenthesized_expression "(uVar13 - 1)" (( "(") (binary_expression "uVar13 - 1" (identifier "uVar13") (- "-") (number_literal "1")) () ")")) (+ "+") (call_expression "(uint)(uVar12 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar12 != 0)" (( "(") (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) () ")")))) (, ",") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12);" (assignment_expression "lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12)" (identifier "lVar3") (= "=") (call_expression "CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12)" (identifier "CONCAT44") (argument_list "(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),\n                                   (uint)lVar3 & -uVar12)" (( "(") (binary_expression "-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20)" (unary_expression "-(uVar13 + (uVar12 != 0))" (- "-") (parenthesized_expression "(uVar13 + (uVar12 != 0))" (( "(") (binary_expression "uVar13 + (uVar12 != 0)" (identifier "uVar13") (+ "+") (parenthesized_expression "(uVar12 != 0)" (( "(") (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) () ")"))) () ")"))) (& "&") (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar3 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar3")) (>> ">>") (number_literal "0x20")) () ")")))) (, ",") (binary_expression "(uint)lVar3 & -uVar12" (cast_expression "(uint)lVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar3")) (& "&") (unary_expression "-uVar12" (- "-") (identifier "uVar12"))) () ")")))) (; ";")) (} "}"))) (expression_statement "*(longlong *)(puStack_84 + 0x24) = lVar3;" (assignment_expression "*(longlong *)(puStack_84 + 0x24) = lVar3" (pointer_expression "*(longlong *)(puStack_84 + 0x24)" (* "*") (cast_expression "(longlong *)(puStack_84 + 0x24)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x24)" (( "(") (binary_expression "puStack_84 + 0x24" (identifier "puStack_84") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "lVar3")) (; ";")) (} "}")))) (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (= "=") (binary_expression "*(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (goto_statement "goto code_r0x00022648;" (goto "goto") (statement_identifier "code_r0x00022648") (; ";")) (} "}"))) (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (= "=") (binary_expression "*(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }" (else "else") (compound_statement "{\n            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");\n            puStack_84 = (undefined *)local_9c[7];\n            uVar11 = *(uint *)(puStack_84 + 0x14);\n            *(undefined8 *)(puStack_84 + 0x24) = uVar35;\n            puStack_7c = (undefined4 *)(uVar11 & 1);\n            lVar34 = local_34;\ncode_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;\n            if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "uVar35 = FUN_00031200(local_9c[0xc],0,"load base");" (assignment_expression "uVar35 = FUN_00031200(local_9c[0xc],0,"load base")" (identifier "uVar35") (= "=") (call_expression "FUN_00031200(local_9c[0xc],0,"load base")" (identifier "FUN_00031200") (argument_list "(local_9c[0xc],0,"load base")" (( "(") (subscript_expression "local_9c[0xc]" (identifier "local_9c") ([ "[") (number_literal "0xc") (] "]")) (, ",") (number_literal "0") (, ",") (string_literal ""load base"" (" """) (string_content "load base") (" """)) () ")")))) (; ";")) (expression_statement "puStack_84 = (undefined *)local_9c[7];" (assignment_expression "puStack_84 = (undefined *)local_9c[7]" (identifier "puStack_84") (= "=") (cast_expression "(undefined *)local_9c[7]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x14);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x14)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(puStack_84 + 0x14)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x14)" (( "(") (binary_expression "puStack_84 + 0x14" (identifier "puStack_84") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(puStack_84 + 0x24) = uVar35;" (assignment_expression "*(undefined8 *)(puStack_84 + 0x24) = uVar35" (pointer_expression "*(undefined8 *)(puStack_84 + 0x24)" (* "*") (cast_expression "(undefined8 *)(puStack_84 + 0x24)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x24)" (( "(") (binary_expression "puStack_84 + 0x24" (identifier "puStack_84") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "uVar35")) (; ";")) (expression_statement "puStack_7c = (undefined4 *)(uVar11 & 1);" (assignment_expression "puStack_7c = (undefined4 *)(uVar11 & 1)" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)(uVar11 & 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 & 1)" (( "(") (binary_expression "uVar11 & 1" (identifier "uVar11") (& "&") (number_literal "1")) () ")")))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (labeled_statement "code_r0x0002263c:\n            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (statement_identifier "code_r0x0002263c") (: ":") (expression_statement "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;" (assignment_expression "*(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (= "=") (binary_expression "*(byte *)(local_9c + 0x15) | 2" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (| "|") (number_literal "2"))) (; ";"))) (if_statement "if (puStack_7c != (undefined4 *)0x0) {\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "(puStack_7c != (undefined4 *)0x0)" (( "(") (binary_expression "puStack_7c != (undefined4 *)0x0" (identifier "puStack_7c") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\ncode_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n              local_34._0_4_ = (uint)lVar34;\n              if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }\n            }" ({ "{") (labeled_statement "code_r0x00022648:\n              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (statement_identifier "code_r0x00022648") (: ":") (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (= "=") (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" (identifier "local_34") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint)lVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar34"))) (; ";")) (if_statement "if ((uVar11 & 0x402) != 0x400) {\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "((uVar11 & 0x402) != 0x400)" (( "(") (binary_expression "(uVar11 & 0x402) != 0x400" (parenthesized_expression "(uVar11 & 0x402)" (( "(") (binary_expression "uVar11 & 0x402" (identifier "uVar11") (& "&") (number_literal "0x402")) () ")")) (!= "!=") (number_literal "0x400")) () ")")) (compound_statement "{\n                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }\n              }" ({ "{") (if_statement "if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }\n                else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }" (if "if") (parenthesized_expression "(*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0)" (( "(") (binary_expression "*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0" (binary_expression "*(int *)(puStack_84 + 0x30) == 0" (pointer_expression "*(int *)(puStack_84 + 0x30)" (* "*") (cast_expression "(int *)(puStack_84 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x30)" (( "(") (binary_expression "puStack_84 + 0x30" (identifier "puStack_84") (+ "+") (number_literal "0x30")) () ")")))) (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(int *)(puStack_84 + 0x2c) == 0" (pointer_expression "*(int *)(puStack_84 + 0x2c)" (* "*") (cast_expression "(int *)(puStack_84 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x2c)" (( "(") (binary_expression "puStack_84 + 0x2c" (identifier "puStack_84") (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n                  if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }\n                }" ({ "{") (if_statement "if (*(int *)(uStack_64 + 0x2c) == 0) {\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }\n                  else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }" (if "if") (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) == 0)" (( "(") (binary_expression "*(int *)(uStack_64 + 0x2c) == 0" (pointer_expression "*(int *)(uStack_64 + 0x2c)" (* "*") (cast_expression "(int *)(uStack_64 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_64 + 0x2c)" (( "(") (binary_expression "uStack_64 + 0x2c" (identifier "uStack_64") (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;\n                  }" ({ "{") (if_statement "if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))\n                    goto code_r0x00022a68;" (if "if") (parenthesized_expression "(*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))" (( "(") (binary_expression "*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||\n                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24)" (binary_expression "*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28)" (pointer_expression "*(int *)(puStack_84 + 0x20)" (* "*") (cast_expression "(int *)(puStack_84 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x20)" (( "(") (binary_expression "puStack_84 + 0x20" (identifier "puStack_84") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (pointer_expression "*(int *)(puStack_84 + 0x28)" (* "*") (cast_expression "(int *)(puStack_84 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x28)" (( "(") (binary_expression "puStack_84 + 0x28" (identifier "puStack_84") (+ "+") (number_literal "0x28")) () ")"))))) (|| "||") (binary_expression "*(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24)" (pointer_expression "*(int *)(puStack_84 + 0x1c)" (* "*") (cast_expression "(int *)(puStack_84 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x1c)" (( "(") (binary_expression "puStack_84 + 0x1c" (identifier "puStack_84") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (pointer_expression "*(int *)(puStack_84 + 0x24)" (* "*") (cast_expression "(int *)(puStack_84 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x24)" (( "(") (binary_expression "puStack_84 + 0x24" (identifier "puStack_84") (+ "+") (number_literal "0x24")) () ")")))))) () ")")) (goto_statement "goto code_r0x00022a68;" (goto "goto") (statement_identifier "code_r0x00022a68") (; ";"))) (} "}")) (else_clause "else {\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }" (else "else") (compound_statement "{\n                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);\n                    uVar13 = *(uint *)(iVar14 + 0x20);\n                    if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;\n                  }" ({ "{") (expression_statement "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);" (assignment_expression "iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(uStack_64 + 0x2c) + 0x1c)" (( "(") (binary_expression "*(int *)(uStack_64 + 0x2c) + 0x1c" (pointer_expression "*(int *)(uStack_64 + 0x2c)" (* "*") (cast_expression "(int *)(uStack_64 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_64 + 0x2c)" (( "(") (binary_expression "uStack_64 + 0x2c" (identifier "uStack_64") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar14 + 0x20);" (assignment_expression "uVar13 = *(uint *)(iVar14 + 0x20)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar14 + 0x20)" (* "*") (cast_expression "(uint *)(iVar14 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       ) goto code_r0x00022a68;" (if "if") (parenthesized_expression "(uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13\n                       )" (( "(") (binary_expression "uVar13 <= local_34._4_4_ &&\n                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13" (binary_expression "uVar13 <= local_34._4_4_" (identifier "uVar13") (<= "<=") (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_"))) (&& "&&") (binary_expression "(uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13" (call_expression "(uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)local_34 < *(uint *)(iVar14 + 0x1c))" (( "(") (binary_expression "(uint)local_34 < *(uint *)(iVar14 + 0x1c)" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (< "<") (pointer_expression "*(uint *)(iVar14 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x1c)" (( "(") (binary_expression "iVar14 + 0x1c" (identifier "iVar14") (+ "+") (number_literal "0x1c")) () ")"))))) () ")"))) (<= "<=") (binary_expression "local_34._4_4_ - uVar13" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (- "-") (identifier "uVar13")))) () ")")) (goto_statement "goto code_r0x00022a68;" (goto "goto") (statement_identifier "code_r0x00022a68") (; ";"))) (} "}")))) (} "}")) (else_clause "else {\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }" (else "else") (compound_statement "{\ncode_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }\n                }" ({ "{") (labeled_statement "code_r0x00022a68:\n                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }" (statement_identifier "code_r0x00022a68") (: ":") (if_statement "if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }" (if "if") (parenthesized_expression "((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2))" (( "(") (binary_expression "(local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)" (parenthesized_expression "(local_9c[9] == 0)" (( "(") (binary_expression "local_9c[9] == 0" (subscript_expression "local_9c[9]" (identifier "local_9c") ([ "[") (number_literal "9") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((DAT_00093c80 & 3) != 2)" (( "(") (binary_expression "(DAT_00093c80 & 3) != 2" (parenthesized_expression "(DAT_00093c80 & 3)" (( "(") (binary_expression "DAT_00093c80 & 3" (identifier "DAT_00093c80") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n                    *(int **)(uStack_64 + 0x2c) = local_9c;\n                  }" ({ "{") (expression_statement "*(int **)(uStack_64 + 0x2c) = local_9c;" (assignment_expression "*(int **)(uStack_64 + 0x2c) = local_9c" (pointer_expression "*(int **)(uStack_64 + 0x2c)" (* "*") (cast_expression "(int **)(uStack_64 + 0x2c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uStack_64 + 0x2c)" (( "(") (binary_expression "uStack_64 + 0x2c" (identifier "uStack_64") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (} "}")))) (} "}")))) (} "}"))) (} "}"))) (} "}")))) (if_statement "if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0))" (( "(") (binary_expression "(puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)" (parenthesized_expression "(puStack_84 != puVar6 + 0x180)" (( "(") (binary_expression "puStack_84 != puVar6 + 0x180" (identifier "puStack_84") (!= "!=") (binary_expression "puVar6 + 0x180" (identifier "puVar6") (+ "+") (number_literal "0x180"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(local_9c + 0x15) & 8) == 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 8)" (( "(") (binary_expression "*(byte *)(local_9c + 0x15) & 8" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }\n            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);\n            if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }\n            lVar34 = local_34;\n            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }\n          }" ({ "{") (if_statement "if ((uVar11 & 0x402) == 0x400) {\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }\n            else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }" (if "if") (parenthesized_expression "((uVar11 & 0x402) == 0x400)" (( "(") (binary_expression "(uVar11 & 0x402) == 0x400" (parenthesized_expression "(uVar11 & 0x402)" (( "(") (binary_expression "uVar11 & 0x402" (identifier "uVar11") (& "&") (number_literal "0x402")) () ")")) (== "==") (number_literal "0x400")) () ")")) (compound_statement "{\n              puStack_7c = (undefined4 *)0x0;\n              uStack_78 = 0;\n              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;\n            }" ({ "{") (expression_statement "puStack_7c = (undefined4 *)0x0;" (assignment_expression "puStack_7c = (undefined4 *)0x0" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uStack_78 = 0;" (assignment_expression "uStack_78 = 0" (identifier "uStack_78") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;" (if "if") (parenthesized_expression "((DAT_00093c80 & 3) == 2)" (( "(") (binary_expression "(DAT_00093c80 & 3) == 2" (parenthesized_expression "(DAT_00093c80 & 3)" (( "(") (binary_expression "DAT_00093c80 & 3" (identifier "DAT_00093c80") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "2")) () ")")) (goto_statement "goto code_r0x000226bf;" (goto "goto") (statement_identifier "code_r0x000226bf") (; ";"))) (} "}")) (else_clause "else {\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }" (else "else") (compound_statement "{\ncode_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;\n              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);\n              puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);\n              uStack_78 = uVar11;\n              if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }\n            }" ({ "{") (labeled_statement "code_r0x000226bf:\n              bVar22 = (byte)DAT_0009386c & 0x1f;" (statement_identifier "code_r0x000226bf") (: ":") (expression_statement "bVar22 = (byte)DAT_0009386c & 0x1f;" (assignment_expression "bVar22 = (byte)DAT_0009386c & 0x1f" (identifier "bVar22") (= "=") (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c")) (& "&") (number_literal "0x1f"))) (; ";"))) (expression_statement "uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);" (assignment_expression "uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f)" (identifier "uVar11") (= "=") (binary_expression "*(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f)" (pointer_expression "*(uint *)(puStack_84 + 0x30)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x30)" (( "(") (binary_expression "puStack_84 + 0x30" (identifier "puStack_84") (+ "+") (number_literal "0x30")) () ")")))) (>> ">>") (parenthesized_expression "((byte)DAT_0009386c & 0x1f)" (( "(") (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);" (assignment_expression "puStack_7c = (undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22)" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)\n                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22)" (( "(") (binary_expression "*(uint *)(puStack_84 + 0x2c) >> bVar22 |\n                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22" (binary_expression "*(uint *)(puStack_84 + 0x2c) >> bVar22" (pointer_expression "*(uint *)(puStack_84 + 0x2c)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x2c)" (( "(") (binary_expression "puStack_84 + 0x2c" (identifier "puStack_84") (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (identifier "bVar22")) (| "|") (binary_expression "*(uint *)(puStack_84 + 0x30) << 0x20 - bVar22" (pointer_expression "*(uint *)(puStack_84 + 0x30)" (* "*") (cast_expression "(uint *)(puStack_84 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_84 + 0x30)" (( "(") (binary_expression "puStack_84 + 0x30" (identifier "puStack_84") (+ "+") (number_literal "0x30")) () ")")))) (<< "<<") (binary_expression "0x20 - bVar22" (number_literal "0x20") (- "-") (identifier "bVar22")))) () ")")))) (; ";")) (expression_statement "uStack_78 = uVar11;" (assignment_expression "uStack_78 = uVar11" (identifier "uStack_78") (= "=") (identifier "uVar11")) (; ";")) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }" (if "if") (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" (( "(") (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" (( "(") (binary_expression "DAT_0009386c & 0x20" (identifier "DAT_0009386c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uStack_78 = 0;\n                puStack_7c = (undefined4 *)uVar11;\n              }" ({ "{") (expression_statement "uStack_78 = 0;" (assignment_expression "uStack_78 = 0" (identifier "uStack_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_7c = (undefined4 *)uVar11;" (assignment_expression "puStack_7c = (undefined4 *)uVar11" (identifier "puStack_7c") (= "=") (cast_expression "(undefined4 *)uVar11" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar11"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);" (assignment_expression "local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c)" (identifier "local_34") (= "=") (binary_expression "lVar34 + CONCAT44(uStack_78,puStack_7c)" (identifier "lVar34") (+ "+") (call_expression "CONCAT44(uStack_78,puStack_7c)" (identifier "CONCAT44") (argument_list "(uStack_78,puStack_7c)" (( "(") (identifier "uStack_78") (, ",") (identifier "puStack_7c") () ")"))))) (; ";")) (if_statement "if (local_9c[0xd] != 0) {\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }" (if "if") (parenthesized_expression "(local_9c[0xd] != 0)" (( "(") (binary_expression "local_9c[0xd] != 0" (subscript_expression "local_9c[0xd]" (identifier "local_9c") ([ "[") (number_literal "0xd") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);\n            }" ({ "{") (expression_statement "FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);" (call_expression "FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34)" (identifier "FUN_000308d0") (argument_list "(local_9c[0xd],puVar6 + 0x180,&local_34)" (( "(") (subscript_expression "local_9c[0xd]" (identifier "local_9c") ([ "[") (number_literal "0xd") (] "]")) (, ",") (binary_expression "puVar6 + 0x180" (identifier "puVar6") (+ "+") (number_literal "0x180")) (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (if_statement "if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }" (if "if") (parenthesized_expression "((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0))" (( "(") (binary_expression "(local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)" (parenthesized_expression "(local_9c[8] != 0)" (( "(") (binary_expression "local_9c[8] != 0" (subscript_expression "local_9c[8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)" (( "(") (comma_expression "iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0" (assignment_expression "iVar14 = local_9c[7]" (identifier "iVar14") (= "=") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]"))) (, ",") (binary_expression "(*(byte *)(iVar14 + 0x14) & 3) != 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x14) & 3)" (( "(") (binary_expression "*(byte *)(iVar14 + 0x14) & 3" (pointer_expression "*(byte *)(iVar14 + 0x14)" (* "*") (cast_expression "(byte *)(iVar14 + 0x14)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x14)" (( "(") (binary_expression "iVar14 + 0x14" (identifier "iVar14") (+ "+") (number_literal "0x14")) () ")")))) (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              *(longlong *)(local_9c[8] + 0x24) = local_34;\n              if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }\n              iVar14 = local_9c[9];\n              lVar34 = local_34;\n              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }\n            }" ({ "{") (expression_statement "*(longlong *)(local_9c[8] + 0x24) = local_34;" (assignment_expression "*(longlong *)(local_9c[8] + 0x24) = local_34" (pointer_expression "*(longlong *)(local_9c[8] + 0x24)" (* "*") (cast_expression "(longlong *)(local_9c[8] + 0x24)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c[8] + 0x24)" (( "(") (binary_expression "local_9c[8] + 0x24" (subscript_expression "local_9c[8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]")) (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (if_statement "if (param_6 != 0) {\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }" (if "if") (parenthesized_expression "(param_6 != 0)" (( "(") (binary_expression "param_6 != 0" (identifier "param_6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));\n              }" ({ "{") (expression_statement "FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));" (call_expression "FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20))" (identifier "FUN_0001f1f0") (argument_list "(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20))" (( "(") (pointer_expression "*(undefined4 *)(iVar14 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x1c)" (( "(") (binary_expression "iVar14 + 0x1c" (identifier "iVar14") (+ "+") (number_literal "0x1c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar14 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar14 = local_9c[9];" (assignment_expression "iVar14 = local_9c[9]" (identifier "iVar14") (= "=") (subscript_expression "local_9c[9]" (identifier "local_9c") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }" (if "if") (parenthesized_expression "(((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0))))" (( "(") (binary_expression "((iVar14 != 0) && (iVar14 != local_9c[8])) &&\n                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))" (parenthesized_expression "((iVar14 != 0) && (iVar14 != local_9c[8]))" (( "(") (binary_expression "(iVar14 != 0) && (iVar14 != local_9c[8])" (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar14 != local_9c[8])" (( "(") (binary_expression "iVar14 != local_9c[8]" (identifier "iVar14") (!= "!=") (subscript_expression "local_9c[8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))" (( "(") (parenthesized_expression "(iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0))" (( "(") (comma_expression "iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)" (assignment_expression "iVar10 = local_9c[7]" (identifier "iVar10") (= "=") (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]"))) (, ",") (binary_expression "(*(byte *)(iVar10 + 0x14) & 2) != 0 ||\n                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)" (binary_expression "(*(byte *)(iVar10 + 0x14) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x14) & 2)" (( "(") (binary_expression "*(byte *)(iVar10 + 0x14) & 2" (pointer_expression "*(byte *)(iVar10 + 0x14)" (* "*") (cast_expression "(byte *)(iVar10 + 0x14)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)(local_9c + 0x15) & 0x40) != 0)" (( "(") (binary_expression "(*(byte *)(local_9c + 0x15) & 0x40) != 0" (parenthesized_expression "(*(byte *)(local_9c + 0x15) & 0x40)" (( "(") (binary_expression "*(byte *)(local_9c + 0x15) & 0x40" (pointer_expression "*(byte *)(local_9c + 0x15)" (* "*") (cast_expression "(byte *)(local_9c + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x15)" (( "(") (binary_expression "local_9c + 0x15" (identifier "local_9c") (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n                uVar11 = *(uint *)(iVar10 + 0x24);\n                iVar10 = *(int *)(iVar10 + 0x28);\n                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;\n                *(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);\n                if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }\n              }" ({ "{") (expression_statement "uVar11 = *(uint *)(iVar10 + 0x24);" (assignment_expression "uVar11 = *(uint *)(iVar10 + 0x24)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar10 + 0x24)" (* "*") (cast_expression "(uint *)(iVar10 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x24)" (( "(") (binary_expression "iVar10 + 0x24" (identifier "iVar10") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(iVar10 + 0x28);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x28)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar10 + 0x28)" (* "*") (cast_expression "(int *)(iVar10 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x28)" (( "(") (binary_expression "iVar10 + 0x28" (identifier "iVar10") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11" (pointer_expression "*(uint *)(iVar14 + 0x24)" (* "*") (cast_expression "(uint *)(iVar14 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x24)" (( "(") (binary_expression "iVar14 + 0x24" (identifier "iVar14") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "(int)puStack_7c + uVar11" (cast_expression "(int)puStack_7c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_7c")) (+ "+") (identifier "uVar11"))) (; ";")) (expression_statement "*(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);" (assignment_expression "*(uint *)(iVar14 + 0x28) =\n                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11)" (pointer_expression "*(uint *)(iVar14 + 0x28)" (* "*") (cast_expression "(uint *)(iVar14 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11)" (binary_expression "uStack_78 + iVar10" (identifier "uStack_78") (+ "+") (identifier "iVar10")) (+ "+") (cast_expression "(uint)CARRY4((uint)puStack_7c,uVar11)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)puStack_7c,uVar11)" (identifier "CARRY4") (argument_list "((uint)puStack_7c,uVar11)" (( "(") (cast_expression "(uint)puStack_7c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puStack_7c")) (, ",") (identifier "uVar11") () ")")))))) (; ";")) (if_statement "if (param_6 != 0) {\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }" (if "if") (parenthesized_expression "(param_6 != 0)" (( "(") (binary_expression "param_6 != 0" (identifier "param_6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  FUN_0001f1f0(uVar11,iVar10);\n                  lVar34 = local_34;\n                }" ({ "{") (expression_statement "FUN_0001f1f0(uVar11,iVar10);" (call_expression "FUN_0001f1f0(uVar11,iVar10)" (identifier "FUN_0001f1f0") (argument_list "(uVar11,iVar10)" (( "(") (identifier "uVar11") (, ",") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n    iVar14 = local_9c[2];\n    iRam00093e8c = 0;\n    uStack_24 = lVar34;\n    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);\n    piVar25 = DAT_00093e90;\n    piVar8 = DAT_00093e94;\n    lVar34 = local_34;\n    if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }\n    DAT_00093e94 = piVar8;\n    DAT_00093e90 = piVar25;\n    iRam00093e8c = 0;\n    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }\n    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }\n    break;" (case "case") (number_literal "1") (: ":") (expression_statement "iVar14 = local_9c[2];" (assignment_expression "iVar14 = local_9c[2]" (identifier "iVar14") (= "=") (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iRam00093e8c = 0;" (assignment_expression "iRam00093e8c = 0" (identifier "iRam00093e8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_24 = lVar34;" (assignment_expression "uStack_24 = lVar34" (identifier "uStack_24") (= "=") (identifier "lVar34")) (; ";")) (expression_statement "FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);" (call_expression "FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24)" (identifier "FUN_000308d0") (argument_list "(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24)" (( "(") (identifier "iVar14") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (, ",") (pointer_expression "&uStack_24" (& "&") (identifier "uStack_24")) () ")"))) (; ";")) (expression_statement "piVar25 = DAT_00093e90;" (assignment_expression "piVar25 = DAT_00093e90" (identifier "piVar25") (= "=") (identifier "DAT_00093e90")) (; ";")) (expression_statement "piVar8 = DAT_00093e94;" (assignment_expression "piVar8 = DAT_00093e94" (identifier "piVar8") (= "=") (identifier "DAT_00093e94")) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (iRam00093e8c == 1) {\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }\n    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" (if "if") (parenthesized_expression "(iRam00093e8c == 1)" (( "(") (binary_expression "iRam00093e8c == 1" (identifier "iRam00093e8c") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      piVar25 = local_9c;\n      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }\n    }" ({ "{") (expression_statement "piVar25 = local_9c;" (assignment_expression "piVar25 = local_9c" (identifier "piVar25") (= "=") (identifier "local_9c")) (; ";")) (if_statement "if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }" (if "if") (parenthesized_expression "((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c))" (( "(") (binary_expression "(DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)" (parenthesized_expression "(DAT_00093e90 != (int *)0x0)" (( "(") (binary_expression "DAT_00093e90 != (int *)0x0" (identifier "DAT_00093e90") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)" (( "(") (comma_expression "piVar25 = DAT_00093e90, DAT_00093e90 != local_9c" (assignment_expression "piVar25 = DAT_00093e90" (identifier "piVar25") (= "=") (identifier "DAT_00093e90")) (, ",") (binary_expression "DAT_00093e90 != local_9c" (identifier "DAT_00093e90") (!= "!=") (identifier "local_9c"))) () ")"))) () ")")) (compound_statement "{\n        uVar16 = 0x137c;\n        goto code_r0x0002296b;\n      }" ({ "{") (expression_statement "uVar16 = 0x137c;" (assignment_expression "uVar16 = 0x137c" (identifier "uVar16") (= "=") (number_literal "0x137c")) (; ";")) (goto_statement "goto code_r0x0002296b;" (goto "goto") (statement_identifier "code_r0x0002296b") (; ";")) (} "}"))) (} "}")) (else_clause "else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" (else "else") (if_statement "if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" (if "if") (parenthesized_expression "(((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c))" (( "(") (binary_expression "((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&\n            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)" (parenthesized_expression "((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0))" (( "(") (binary_expression "(iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)" (parenthesized_expression "(iRam00093e8c == 2)" (( "(") (binary_expression "iRam00093e8c == 2" (identifier "iRam00093e8c") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(piVar8 = local_9c, DAT_00093e94 != (int *)0x0)" (( "(") (comma_expression "piVar8 = local_9c, DAT_00093e94 != (int *)0x0" (assignment_expression "piVar8 = local_9c" (identifier "piVar8") (= "=") (identifier "local_9c")) (, ",") (binary_expression "DAT_00093e94 != (int *)0x0" (identifier "DAT_00093e94") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)" (( "(") (comma_expression "piVar8 = DAT_00093e94, DAT_00093e94 != local_9c" (assignment_expression "piVar8 = DAT_00093e94" (identifier "piVar8") (= "=") (identifier "DAT_00093e94")) (, ",") (binary_expression "DAT_00093e94 != local_9c" (identifier "DAT_00093e94") (!= "!=") (identifier "local_9c"))) () ")"))) () ")")) (compound_statement "{\n      uVar16 = 0x1385;\ncode_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);\n      piVar25 = DAT_00093e90;\n      piVar8 = DAT_00093e94;\n      lVar34 = local_34;\n    }" ({ "{") (expression_statement "uVar16 = 0x1385;" (assignment_expression "uVar16 = 0x1385" (identifier "uVar16") (= "=") (number_literal "0x1385")) (; ";")) (labeled_statement "code_r0x0002296b:\n      FUN_00032bf0("../../ld/ldlang.c",uVar16);" (statement_identifier "code_r0x0002296b") (: ":") (expression_statement "FUN_00032bf0("../../ld/ldlang.c",uVar16);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",uVar16)" (identifier "FUN_00032bf0") (argument_list "("../../ld/ldlang.c",uVar16)" (( "(") (string_literal ""../../ld/ldlang.c"" (" """) (string_content "../../ld/ldlang.c") (" """)) (, ",") (identifier "uVar16") () ")"))) (; ";"))) (expression_statement "piVar25 = DAT_00093e90;" (assignment_expression "piVar25 = DAT_00093e90" (identifier "piVar25") (= "=") (identifier "DAT_00093e90")) (; ";")) (expression_statement "piVar8 = DAT_00093e94;" (assignment_expression "piVar8 = DAT_00093e94" (identifier "piVar8") (= "=") (identifier "DAT_00093e94")) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (} "}"))))) (expression_statement "DAT_00093e94 = piVar8;" (assignment_expression "DAT_00093e94 = piVar8" (identifier "DAT_00093e94") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "DAT_00093e90 = piVar25;" (assignment_expression "DAT_00093e90 = piVar25" (identifier "DAT_00093e90") (= "=") (identifier "piVar25")) (; ";")) (expression_statement "iRam00093e8c = 0;" (assignment_expression "iRam00093e8c = 0" (identifier "iRam00093e8c") (= "=") (number_literal "0")) (; ";")) (if_statement "if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }" (if "if") (parenthesized_expression "(((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0'))))" (( "(") (binary_expression "((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&\n       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))" (parenthesized_expression "((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4)" (( "(") (binary_expression "(*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4" (parenthesized_expression "(*(uint *)(iVar14 + 0xc) & 0xfffffffd)" (( "(") (binary_expression "*(uint *)(iVar14 + 0xc) & 0xfffffffd" (pointer_expression "*(uint *)(iVar14 + 0xc)" (* "*") (cast_expression "(uint *)(iVar14 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xc)" (( "(") (binary_expression "iVar14 + 0xc" (identifier "iVar14") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xfffffffd")) () ")")) (== "==") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))" (( "(") (parenthesized_expression "(**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0'))" (( "(") (binary_expression "**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')" (binary_expression "**(char **)(iVar14 + 0x10) != '.'" (pointer_expression "**(char **)(iVar14 + 0x10)" (* "*") (pointer_expression "*(char **)(iVar14 + 0x10)" (* "*") (cast_expression "(char **)(iVar14 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x10)" (( "(") (binary_expression "iVar14 + 0x10" (identifier "iVar14") (+ "+") (number_literal "0x10")) () ")"))))) (!= "!=") (char_literal "'.'" (' "'") (character ".") (' "'"))) (|| "||") (parenthesized_expression "((*(char **)(iVar14 + 0x10))[1] != '\0')" (( "(") (binary_expression "(*(char **)(iVar14 + 0x10))[1] != '\0'" (subscript_expression "(*(char **)(iVar14 + 0x10))[1]" (parenthesized_expression "(*(char **)(iVar14 + 0x10))" (( "(") (pointer_expression "*(char **)(iVar14 + 0x10)" (* "*") (cast_expression "(char **)(iVar14 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x10)" (( "(") (binary_expression "iVar14 + 0x10" (identifier "iVar14") (+ "+") (number_literal "0x10")) () ")")))) () ")")) ([ "[") (number_literal "1") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;\n    }" ({ "{") (expression_statement "*(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;" (assignment_expression "*(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10" (pointer_expression "*(byte *)(param_2 + 0x54)" (* "*") (cast_expression "(byte *)(param_2 + 0x54)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x54)" (( "(") (binary_expression "param_2 + 0x54" (identifier "param_2") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (binary_expression "*(byte *)(param_2 + 0x54) | 0x10" (pointer_expression "*(byte *)(param_2 + 0x54)" (* "*") (cast_expression "(byte *)(param_2 + 0x54)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x54)" (( "(") (binary_expression "param_2 + 0x54" (identifier "param_2") (+ "+") (number_literal "0x54")) () ")")))) (| "|") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(param_2 + 0x54) & 8) == 0) {\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }" (if "if") (parenthesized_expression "((*(byte *)(param_2 + 0x54) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(param_2 + 0x54) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x54) & 8)" (( "(") (binary_expression "*(byte *)(param_2 + 0x54) & 8" (pointer_expression "*(byte *)(param_2 + 0x54)" (* "*") (cast_expression "(byte *)(param_2 + 0x54)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x54)" (( "(") (binary_expression "param_2 + 0x54" (identifier "param_2") (+ "+") (number_literal "0x54")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_34 = lVar34;\n      if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }\n    }" ({ "{") (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" (identifier "local_34") (= "=") (identifier "lVar34")) (; ";")) (if_statement "if (DAT_00093c2c == param_2) {\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }\n      else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" (if "if") (parenthesized_expression "(DAT_00093c2c == param_2)" (( "(") (binary_expression "DAT_00093c2c == param_2" (identifier "DAT_00093c2c") (== "==") (identifier "param_2")) () ")")) (compound_statement "{\n        iVar14 = FUN_00021e10("*default*",0);\n        *(longlong *)(iVar14 + 0x24) = uStack_24;\n        lVar34 = uStack_24;\n      }" ({ "{") (expression_statement "iVar14 = FUN_00021e10("*default*",0);" (assignment_expression "iVar14 = FUN_00021e10("*default*",0)" (identifier "iVar14") (= "=") (call_expression "FUN_00021e10("*default*",0)" (identifier "FUN_00021e10") (argument_list "("*default*",0)" (( "(") (string_literal ""*default*"" (" """) (string_content "*default*") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(longlong *)(iVar14 + 0x24) = uStack_24;" (assignment_expression "*(longlong *)(iVar14 + 0x24) = uStack_24" (pointer_expression "*(longlong *)(iVar14 + 0x24)" (* "*") (cast_expression "(longlong *)(iVar14 + 0x24)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x24)" (( "(") (binary_expression "iVar14 + 0x24" (identifier "iVar14") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "uStack_24")) (; ";")) (expression_statement "lVar34 = uStack_24;" (assignment_expression "lVar34 = uStack_24" (identifier "lVar34") (= "=") (identifier "uStack_24")) (; ";")) (} "}")) (else_clause "else if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" (else "else") (if_statement "if (lVar34 != uStack_24) {\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" (if "if") (parenthesized_expression "(lVar34 != uStack_24)" (( "(") (binary_expression "lVar34 != uStack_24" (identifier "lVar34") (!= "!=") (identifier "uStack_24")) () ")")) (compound_statement "{\n        uVar11 = (uint)(uStack_24 - lVar34);\n        bVar22 = (byte)DAT_0009386c & 0x1f;\n        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);\n        uVar13 = uVar12;\n        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }\n        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);\n        local_9c = (int *)*local_9c;\n        lVar34 = uStack_24;\n        if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }\n      }" ({ "{") (expression_statement "uVar11 = (uint)(uStack_24 - lVar34);" (assignment_expression "uVar11 = (uint)(uStack_24 - lVar34)" (identifier "uVar11") (= "=") (call_expression "(uint)(uStack_24 - lVar34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uStack_24 - lVar34)" (( "(") (binary_expression "uStack_24 - lVar34" (identifier "uStack_24") (- "-") (identifier "lVar34")) () ")")))) (; ";")) (expression_statement "bVar22 = (byte)DAT_0009386c & 0x1f;" (assignment_expression "bVar22 = (byte)DAT_0009386c & 0x1f" (identifier "bVar22") (= "=") (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c")) (& "&") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);" (assignment_expression "uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f)" (identifier "uVar12") (= "=") (binary_expression "uVar11 << ((byte)DAT_0009386c & 0x1f)" (identifier "uVar11") (<< "<<") (parenthesized_expression "((byte)DAT_0009386c & 0x1f)" (( "(") (binary_expression "(byte)DAT_0009386c & 0x1f" (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar13 = uVar12;" (assignment_expression "uVar13 = uVar12" (identifier "uVar13") (= "=") (identifier "uVar12")) (; ";")) (expression_statement "uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;" (assignment_expression "uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22" (identifier "uVar11") (= "=") (binary_expression "(int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22" (binary_expression "(int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22" (cast_expression "(int)((ulonglong)(uStack_24 - lVar34) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)(uStack_24 - lVar34) >> 0x20)" (( "(") (binary_expression "(ulonglong)(uStack_24 - lVar34) >> 0x20" (call_expression "(ulonglong)(uStack_24 - lVar34)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(uStack_24 - lVar34)" (( "(") (binary_expression "uStack_24 - lVar34" (identifier "uStack_24") (- "-") (identifier "lVar34")) () ")"))) (>> ">>") (number_literal "0x20")) () ")"))) (<< "<<") (identifier "bVar22")) (| "|") (binary_expression "uVar11 >> 0x20 - bVar22" (identifier "uVar11") (>> ">>") (binary_expression "0x20 - bVar22" (number_literal "0x20") (- "-") (identifier "bVar22"))))) (; ";")) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }" (if "if") (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" (( "(") (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" (( "(") (binary_expression "DAT_0009386c & 0x20" (identifier "DAT_0009386c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar13 = 0;\n          uVar11 = uVar12;\n        }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" (identifier "uVar11") (= "=") (identifier "uVar12")) (; ";")) (} "}"))) (expression_statement "FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);" (call_expression "FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34)" (identifier "FUN_00021870") (argument_list "(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar11") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (, ",") (identifier "lVar34") () ")"))) (; ";")) (expression_statement "local_9c = (int *)*local_9c;" (assignment_expression "local_9c = (int *)*local_9c" (identifier "local_9c") (= "=") (cast_expression "(int *)*local_9c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_9c" (* "*") (identifier "local_9c")))) (; ";")) (expression_statement "lVar34 = uStack_24;" (assignment_expression "lVar34 = uStack_24" (identifier "lVar34") (= "=") (identifier "uStack_24")) (; ";")) (if_statement "if ((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }" (if "if") (parenthesized_expression "((*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5))))" (( "(") (binary_expression "(*(int *)(param_2 + 0x50) != 3) &&\n           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))" (parenthesized_expression "(*(int *)(param_2 + 0x50) != 3)" (( "(") (binary_expression "*(int *)(param_2 + 0x50) != 3" (pointer_expression "*(int *)(param_2 + 0x50)" (* "*") (cast_expression "(int *)(param_2 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x50)" (( "(") (binary_expression "param_2 + 0x50" (identifier "param_2") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (number_literal "3")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))" (( "(") (parenthesized_expression "(*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5))" (( "(") (binary_expression "*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)" (binary_expression "*(int *)(param_2 + 0x50) != 2" (pointer_expression "*(int *)(param_2 + 0x50)" (* "*") (cast_expression "(int *)(param_2 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x50)" (( "(") (binary_expression "param_2 + 0x50" (identifier "param_2") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (number_literal "2")) (|| "||") (parenthesized_expression "(*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)" (( "(") (binary_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(DAT_00093cb4 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00093cb4 + 4) + 4)" (( "(") (binary_expression "*(int *)(DAT_00093cb4 + 4) + 4" (pointer_expression "*(int *)(DAT_00093cb4 + 4)" (* "*") (cast_expression "(int *)(DAT_00093cb4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00093cb4 + 4)" (( "(") (binary_expression "DAT_00093cb4 + 4" (identifier "DAT_00093cb4") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);\n          *puVar1 = *puVar1 | 1;\n        }" ({ "{") (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x14)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) + 0x14" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (; ";")) (expression_statement "*puVar1 = *puVar1 | 1;" (assignment_expression "*puVar1 = *puVar1 | 1" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 | 1" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (| "|") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))))) (} "}"))) (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 10:" (case "case") (number_literal "10") (: ":")) (case_statement "case 0xb:" (case "case") (number_literal "0xb") (: ":")) (case_statement "case 0xe:\n    goto code_r0x0002200c;" (case "case") (number_literal "0xe") (: ":") (goto_statement "goto code_r0x0002200c;" (goto "goto") (statement_identifier "code_r0x0002200c") (; ";"))) (case_statement "case 4:\n    goto code_r0x00022351;" (case "case") (number_literal "4") (: ":") (goto_statement "goto code_r0x00022351;" (goto "goto") (statement_identifier "code_r0x00022351") (; ";"))) (case_statement "case 5:\n    if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }\n    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);\n    local_34._0_4_ = (uint)lVar34;\n    iVar14 = *(int *)(*param_1 + 8);\n    iVar10 = *(int *)(param_2 + 0x1c);\n    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }\n    break;" (case "case") (number_literal "5") (: ":") (if_statement "if (param_5 != (undefined4 *)0x0) {\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }" (if "if") (parenthesized_expression "(param_5 != (undefined4 *)0x0)" (( "(") (binary_expression "param_5 != (undefined4 *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar14 = *(int *)(local_9c[2] + 0xac);\n      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);\n      lVar34 = local_34;\n      if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }\n      if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }\n    }" ({ "{") (expression_statement "iVar14 = *(int *)(local_9c[2] + 0xac);" (assignment_expression "iVar14 = *(int *)(local_9c[2] + 0xac)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(local_9c[2] + 0xac)" (* "*") (cast_expression "(int *)(local_9c[2] + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c[2] + 0xac)" (( "(") (binary_expression "local_9c[2] + 0xac" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0xac")) () ")"))))) (; ";")) (expression_statement "iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);" (assignment_expression "iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(*(int *)(iVar14 + 4) + 0x164))\n                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24)" (parenthesized_expression "(**(code **)(*(int *)(iVar14 + 4) + 0x164))" (( "(") (pointer_expression "**(code **)(*(int *)(iVar14 + 4) + 0x164)" (* "*") (pointer_expression "*(code **)(*(int *)(iVar14 + 4) + 0x164)" (* "*") (cast_expression "(code **)(*(int *)(iVar14 + 4) + 0x164)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(iVar14 + 4) + 0x164)" (( "(") (binary_expression "*(int *)(iVar14 + 4) + 0x164" (pointer_expression "*(int *)(iVar14 + 4)" (* "*") (cast_expression "(int *)(iVar14 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 4)" (( "(") (binary_expression "iVar14 + 4" (identifier "iVar14") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x164")) () ")"))))) () ")")) (argument_list "(iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24)" (( "(") (identifier "iVar14") (, ",") (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "PTR_DAT_00092fa8") (, ",") (pointer_expression "&uStack_24" (& "&") (identifier "uStack_24")) () ")")))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (iVar14 == 0) {\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);\n        FUN_00032ba0(uVar16);\n        lVar34 = local_34;\n      }" ({ "{") (expression_statement "uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);" (assignment_expression "uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5)" (identifier "uVar16") (= "=") (call_expression "dcgettext(0,"%F%P: can\'t relax section: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: can\'t relax section: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: can\'t relax section: %E\n"" (" """) (string_content "%F%P: can") (escape_sequence "\'") (string_content "t relax section: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00032ba0(uVar16);" (call_expression "FUN_00032ba0(uVar16)" (identifier "FUN_00032ba0") (argument_list "(uVar16)" (( "(") (identifier "uVar16") () ")"))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";")) (} "}"))) (if_statement "if ((int)uStack_24 != 0) {\n        *param_5 = 1;\n      }" (if "if") (parenthesized_expression "((int)uStack_24 != 0)" (( "(") (binary_expression "(int)uStack_24 != 0" (cast_expression "(int)uStack_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_24")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *param_5 = 1;\n      }" ({ "{") (expression_statement "*param_5 = 1;" (assignment_expression "*param_5 = 1" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20)" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (= "=") (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_34._0_4_ = (uint)lVar34;" (assignment_expression "local_34._0_4_ = (uint)lVar34" (field_expression "local_34._0_4_" (identifier "local_34") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint)lVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar34"))) (; ";")) (expression_statement "iVar14 = *(int *)(*param_1 + 8);" (assignment_expression "iVar14 = *(int *)(*param_1 + 8)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(*param_1 + 8)" (* "*") (cast_expression "(int *)(*param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar10 = *(int *)(param_2 + 0x1c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }\n    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" (if "if") (parenthesized_expression "((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200)" (( "(") (binary_expression "(*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200" (parenthesized_expression "(*(ushort *)(iVar14 + 0x18) & 0x380)" (( "(") (binary_expression "*(ushort *)(iVar14 + 0x18) & 0x380" (pointer_expression "*(ushort *)(iVar14 + 0x18)" (* "*") (cast_expression "(ushort *)(iVar14 + 0x18)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x18)" (( "(") (binary_expression "iVar14 + 0x18" (identifier "iVar14") (+ "+") (number_literal "0x18")) () ")")))) (& "&") (number_literal "0x380")) () ")")) (== "==") (number_literal "0x200")) () ")")) (compound_statement "{\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;\n    }" ({ "{") (expression_statement "uVar11 = *(uint *)(iVar10 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(iVar10 + 0x1c)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar10 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar10 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));" (assignment_expression "*(uint *)(iVar14 + 0x50) =\n           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (pointer_expression "*(uint *)(iVar14 + 0x50)" (* "*") (cast_expression "(uint *)(iVar14 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x50)" (( "(") (binary_expression "iVar14 + 0x50" (identifier "iVar14") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "(*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -\n           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20))" (( "(") (binary_expression "*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)" (pointer_expression "*(int *)(iVar14 + 0x20)" (* "*") (cast_expression "(int *)(iVar14 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (- "-") (call_expression "(uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c))" (( "(") (binary_expression "*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar14 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x1c)" (( "(") (binary_expression "iVar14 + 0x1c" (identifier "iVar14") (+ "+") (number_literal "0x1c")) () ")")))) (< "<") (pointer_expression "*(uint *)(iVar10 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar10 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")"))))) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11" (pointer_expression "*(uint *)(iVar14 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x4c)" (( "(") (binary_expression "iVar14 + 0x4c" (identifier "iVar14") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar14 + 0x1c) - uVar11" (pointer_expression "*(uint *)(iVar14 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x1c)" (( "(") (binary_expression "iVar14 + 0x1c" (identifier "iVar14") (+ "+") (number_literal "0x1c")) () ")")))) (- "-") (identifier "uVar11"))) (; ";")) (} "}")) (else_clause "else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" (else "else") (if_statement "if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }\n    else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" (if "if") (parenthesized_expression "(((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0))" (( "(") (binary_expression "((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)" (parenthesized_expression "((*(byte *)(iVar14 + 0x15) & 0x80) == 0)" (( "(") (binary_expression "(*(byte *)(iVar14 + 0x15) & 0x80) == 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x15) & 0x80)" (( "(") (binary_expression "*(byte *)(iVar14 + 0x15) & 0x80" (pointer_expression "*(byte *)(iVar14 + 0x15)" (* "*") (cast_expression "(byte *)(iVar14 + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x15)" (( "(") (binary_expression "iVar14 + 0x15" (identifier "iVar14") (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(param_2 + 0x54) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(param_2 + 0x54) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x54) & 8)" (( "(") (binary_expression "*(byte *)(param_2 + 0x54) & 8" (pointer_expression "*(byte *)(param_2 + 0x54)" (* "*") (cast_expression "(byte *)(param_2 + 0x54)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x54)" (( "(") (binary_expression "param_2 + 0x54" (identifier "param_2") (+ "+") (number_literal "0x54")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      uVar11 = *(uint *)(param_2 + 0x40);\n      if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }\n      if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      bVar22 = (byte)uVar11 & 0x1f;\n      uVar15 = 1 << ((byte)uVar11 & 0x1f);\n      uVar13 = uVar15;\n      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;\n      if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }\n      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);\n      uVar15 = (uint)lVar3 & -uVar13;\n      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);\n      uVar11 = uVar15 - (uint)local_34;\n      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);\n      lVar3 = lVar34;\n      if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }\n      uVar13 = DAT_0009386c;\n      lVar5 = *(longlong *)(iVar10 + 0x1c);\n      puStack_7c._0_1_ = (byte)DAT_0009386c;\n      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;\n      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);\n      uVar12 = uVar15;\n      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);\n      if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }\n      lVar4 = CONCAT44(uVar12,uVar11);\n      lVar34 = lVar3 + lVar4;\n      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }\n    }" ({ "{") (expression_statement "uVar11 = *(uint *)(param_2 + 0x40);" (assignment_expression "uVar11 = *(uint *)(param_2 + 0x40)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(param_2 + 0x40)" (* "*") (cast_expression "(uint *)(param_2 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x40)" (( "(") (binary_expression "param_2 + 0x40" (identifier "param_2") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (uVar11 == 0xffffffff) {\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }\n      else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }" (if "if") (parenthesized_expression "(uVar11 == 0xffffffff)" (( "(") (binary_expression "uVar11 == 0xffffffff" (identifier "uVar11") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }" ({ "{") (expression_statement "uVar11 = *(uint *)(iVar14 + 0x58);" (assignment_expression "uVar11 = *(uint *)(iVar14 + 0x58)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar14 + 0x58)" (* "*") (cast_expression "(uint *)(iVar14 + 0x58)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x58)" (( "(") (binary_expression "iVar14 + 0x58" (identifier "iVar14") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }" (else "else") (compound_statement "{\n        *(uint *)(iVar14 + 0x58) = uVar11;\n      }" ({ "{") (expression_statement "*(uint *)(iVar14 + 0x58) = uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x58) = uVar11" (pointer_expression "*(uint *)(iVar14 + 0x58)" (* "*") (cast_expression "(uint *)(iVar14 + 0x58)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x58)" (( "(") (binary_expression "iVar14 + 0x58" (identifier "iVar14") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (} "}")))) (if_statement "if (*(uint *)(iVar10 + 0x58) < uVar11) {\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }" (if "if") (parenthesized_expression "(*(uint *)(iVar10 + 0x58) < uVar11)" (( "(") (binary_expression "*(uint *)(iVar10 + 0x58) < uVar11" (pointer_expression "*(uint *)(iVar10 + 0x58)" (* "*") (cast_expression "(uint *)(iVar10 + 0x58)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x58)" (( "(") (binary_expression "iVar10 + 0x58" (identifier "iVar10") (+ "+") (number_literal "0x58")) () ")")))) (< "<") (identifier "uVar11")) () ")")) (compound_statement "{\n        *(uint *)(iVar10 + 0x58) = uVar11;\n        uVar11 = *(uint *)(iVar14 + 0x58);\n      }" ({ "{") (expression_statement "*(uint *)(iVar10 + 0x58) = uVar11;" (assignment_expression "*(uint *)(iVar10 + 0x58) = uVar11" (pointer_expression "*(uint *)(iVar10 + 0x58)" (* "*") (cast_expression "(uint *)(iVar10 + 0x58)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x58)" (( "(") (binary_expression "iVar10 + 0x58" (identifier "iVar10") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar14 + 0x58);" (assignment_expression "uVar11 = *(uint *)(iVar14 + 0x58)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar14 + 0x58)" (* "*") (cast_expression "(uint *)(iVar14 + 0x58)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x58)" (( "(") (binary_expression "iVar14 + 0x58" (identifier "iVar14") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (} "}"))) (expression_statement "bVar22 = (byte)uVar11 & 0x1f;" (assignment_expression "bVar22 = (byte)uVar11 & 0x1f" (identifier "bVar22") (= "=") (binary_expression "(byte)uVar11 & 0x1f" (cast_expression "(byte)uVar11" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar11")) (& "&") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar15 = 1 << ((byte)uVar11 & 0x1f);" (assignment_expression "uVar15 = 1 << ((byte)uVar11 & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "1 << ((byte)uVar11 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uVar11 & 0x1f)" (( "(") (binary_expression "(byte)uVar11 & 0x1f" (cast_expression "(byte)uVar11" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar11")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar13 = uVar15;" (assignment_expression "uVar13 = uVar15" (identifier "uVar13") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;" (assignment_expression "uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22" (identifier "uVar12") (= "=") (binary_expression "0 << bVar22 | 1U >> 0x20 - bVar22" (binary_expression "0 << bVar22" (number_literal "0") (<< "<<") (identifier "bVar22")) (| "|") (binary_expression "1U >> 0x20 - bVar22" (number_literal "1U") (>> ">>") (binary_expression "0x20 - bVar22" (number_literal "0x20") (- "-") (identifier "bVar22"))))) (; ";")) (if_statement "if ((uVar11 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }" (if "if") (parenthesized_expression "((uVar11 & 0x20) != 0)" (( "(") (binary_expression "(uVar11 & 0x20) != 0" (parenthesized_expression "(uVar11 & 0x20)" (( "(") (binary_expression "uVar11 & 0x20" (identifier "uVar11") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar13 = 0;\n        uVar12 = uVar15;\n      }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" (identifier "uVar12") (= "=") (identifier "uVar15")) (; ";")) (} "}"))) (expression_statement "lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);" (assignment_expression "lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13)" (identifier "lVar3") (= "=") (binary_expression "lVar34 + -1 + CONCAT44(uVar12,uVar13)" (binary_expression "lVar34 + -1" (identifier "lVar34") (+ "+") (number_literal "-1")) (+ "+") (call_expression "CONCAT44(uVar12,uVar13)" (identifier "CONCAT44") (argument_list "(uVar12,uVar13)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar13") () ")"))))) (; ";")) (expression_statement "uVar15 = (uint)lVar3 & -uVar13;" (assignment_expression "uVar15 = (uint)lVar3 & -uVar13" (identifier "uVar15") (= "=") (binary_expression "(uint)lVar3 & -uVar13" (cast_expression "(uint)lVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar3")) (& "&") (unary_expression "-uVar13" (- "-") (identifier "uVar13")))) (; ";")) (expression_statement "uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);" (assignment_expression "uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20)" (identifier "uVar13") (= "=") (binary_expression "-(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20)" (unary_expression "-(uVar12 + (uVar13 != 0))" (- "-") (parenthesized_expression "(uVar12 + (uVar13 != 0))" (( "(") (binary_expression "uVar12 + (uVar13 != 0)" (identifier "uVar12") (+ "+") (parenthesized_expression "(uVar13 != 0)" (( "(") (binary_expression "uVar13 != 0" (identifier "uVar13") (!= "!=") (number_literal "0")) () ")"))) () ")"))) (& "&") (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar3 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar3")) (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar11 = uVar15 - (uint)local_34;" (assignment_expression "uVar11 = uVar15 - (uint)local_34" (identifier "uVar11") (= "=") (binary_expression "uVar15 - (uint)local_34" (identifier "uVar15") (- "-") (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")))) (; ";")) (expression_statement "iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);" (assignment_expression "iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34)" (identifier "iVar24") (= "=") (binary_expression "(uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34)" (parenthesized_expression "(uVar13 - local_34._4_4_)" (( "(") (binary_expression "uVar13 - local_34._4_4_" (identifier "uVar13") (- "-") (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_"))) () ")")) (- "-") (call_expression "(uint)(uVar15 < (uint)local_34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar15 < (uint)local_34)" (( "(") (binary_expression "uVar15 < (uint)local_34" (identifier "uVar15") (< "<") (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34"))) () ")"))))) (; ";")) (expression_statement "lVar3 = lVar34;" (assignment_expression "lVar3 = lVar34" (identifier "lVar3") (= "=") (identifier "lVar34")) (; ";")) (if_statement "if (iVar24 != 0 || uVar11 != 0) {\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }" (if "if") (parenthesized_expression "(iVar24 != 0 || uVar11 != 0)" (( "(") (binary_expression "iVar24 != 0 || uVar11 != 0" (binary_expression "iVar24 != 0" (identifier "iVar24") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n        puStack_7c._0_1_ = (byte)DAT_0009386c;\n        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar19;\n        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }\n        local_34 = lVar34;\n        FUN_00021870(uVar12,uVar11,iVar10,lVar34);\n        lVar3 = CONCAT44(uVar13,uVar15);\n      }" ({ "{") (expression_statement "puStack_7c._0_1_ = (byte)DAT_0009386c;" (assignment_expression "puStack_7c._0_1_ = (byte)DAT_0009386c" (field_expression "puStack_7c._0_1_" (identifier "puStack_7c") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c"))) (; ";")) (expression_statement "uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar19 = uVar11 << ((byte)puStack_7c & 0x1f)" (identifier "uVar19") (= "=") (binary_expression "uVar11 << ((byte)puStack_7c & 0x1f)" (identifier "uVar11") (<< "<<") (parenthesized_expression "((byte)puStack_7c & 0x1f)" (( "(") (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puStack_7c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar12 = uVar19;" (assignment_expression "uVar12 = uVar19" (identifier "uVar12") (= "=") (identifier "uVar19")) (; ";")) (expression_statement "uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (identifier "uVar11") (= "=") (binary_expression "iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (binary_expression "iVar24 << ((byte)puStack_7c & 0x1f)" (identifier "iVar24") (<< "<<") (parenthesized_expression "((byte)puStack_7c & 0x1f)" (( "(") (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puStack_7c")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (identifier "uVar11") (>> ">>") (binary_expression "0x20 - ((byte)puStack_7c & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "((byte)puStack_7c & 0x1f)" (( "(") (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puStack_7c")) (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((DAT_0009386c & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }" (if "if") (parenthesized_expression "((DAT_0009386c & 0x20) != 0)" (( "(") (binary_expression "(DAT_0009386c & 0x20) != 0" (parenthesized_expression "(DAT_0009386c & 0x20)" (( "(") (binary_expression "DAT_0009386c & 0x20" (identifier "DAT_0009386c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar12 = 0;\n          uVar11 = uVar19;\n        }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = uVar19;" (assignment_expression "uVar11 = uVar19" (identifier "uVar11") (= "=") (identifier "uVar19")) (; ";")) (} "}"))) (expression_statement "local_34 = lVar34;" (assignment_expression "local_34 = lVar34" (identifier "local_34") (= "=") (identifier "lVar34")) (; ";")) (expression_statement "FUN_00021870(uVar12,uVar11,iVar10,lVar34);" (call_expression "FUN_00021870(uVar12,uVar11,iVar10,lVar34)" (identifier "FUN_00021870") (argument_list "(uVar12,uVar11,iVar10,lVar34)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar11") (, ",") (identifier "iVar10") (, ",") (identifier "lVar34") () ")"))) (; ";")) (expression_statement "lVar3 = CONCAT44(uVar13,uVar15);" (assignment_expression "lVar3 = CONCAT44(uVar13,uVar15)" (identifier "lVar3") (= "=") (call_expression "CONCAT44(uVar13,uVar15)" (identifier "CONCAT44") (argument_list "(uVar13,uVar15)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar15") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar13 = DAT_0009386c;" (assignment_expression "uVar13 = DAT_0009386c" (identifier "uVar13") (= "=") (identifier "DAT_0009386c")) (; ";")) (expression_statement "lVar5 = *(longlong *)(iVar10 + 0x1c);" (assignment_expression "lVar5 = *(longlong *)(iVar10 + 0x1c)" (identifier "lVar5") (= "=") (pointer_expression "*(longlong *)(iVar10 + 0x1c)" (* "*") (cast_expression "(longlong *)(iVar10 + 0x1c)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "puStack_7c._0_1_ = (byte)DAT_0009386c;" (assignment_expression "puStack_7c._0_1_ = (byte)DAT_0009386c" (field_expression "puStack_7c._0_1_" (identifier "puStack_7c") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c"))) (; ";")) (expression_statement "*(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;" (assignment_expression "*(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5" (pointer_expression "*(longlong *)(iVar14 + 0x4c)" (* "*") (cast_expression "(longlong *)(iVar14 + 0x4c)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x4c)" (( "(") (binary_expression "iVar14 + 0x4c" (identifier "iVar14") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (binary_expression "lVar3 - lVar5" (identifier "lVar3") (- "-") (identifier "lVar5"))) (; ";")) (expression_statement "uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "*(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" (* "*") (cast_expression "(uint *)(iVar14 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))) (>> ">>") (parenthesized_expression "((byte)puStack_7c & 0x1f)" (( "(") (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puStack_7c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" (identifier "uVar12") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f)" (identifier "uVar11") (= "=") (binary_expression "*(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |\n               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f)" (binary_expression "*(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x2c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x2c)" (( "(") (binary_expression "iVar14 + 0x2c" (identifier "iVar14") (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (parenthesized_expression "((byte)puStack_7c & 0x1f)" (( "(") (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puStack_7c")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "*(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f)" (pointer_expression "*(uint *)(iVar14 + 0x30)" (* "*") (cast_expression "(uint *)(iVar14 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))) (<< "<<") (binary_expression "0x20 - ((byte)puStack_7c & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "((byte)puStack_7c & 0x1f)" (( "(") (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puStack_7c")) (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((uVar13 & 0x20) != 0) {\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }" (if "if") (parenthesized_expression "((uVar13 & 0x20) != 0)" (( "(") (binary_expression "(uVar13 & 0x20) != 0" (parenthesized_expression "(uVar13 & 0x20)" (( "(") (binary_expression "uVar13 & 0x20" (identifier "uVar13") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar12 = 0;\n        uVar11 = uVar15;\n      }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = uVar15;" (assignment_expression "uVar11 = uVar15" (identifier "uVar11") (= "=") (identifier "uVar15")) (; ";")) (} "}"))) (expression_statement "lVar4 = CONCAT44(uVar12,uVar11);" (assignment_expression "lVar4 = CONCAT44(uVar12,uVar11)" (identifier "lVar4") (= "=") (call_expression "CONCAT44(uVar12,uVar11)" (identifier "CONCAT44") (argument_list "(uVar12,uVar11)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "lVar34 = lVar3 + lVar4;" (assignment_expression "lVar34 = lVar3 + lVar4" (identifier "lVar34") (= "=") (binary_expression "lVar3 + lVar4" (identifier "lVar3") (+ "+") (identifier "lVar4"))) (; ";")) (if_statement "if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }" (if "if") (parenthesized_expression "((*(byte *)(iVar10 + 0x15) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(iVar10 + 0x15) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x15) & 8)" (( "(") (binary_expression "*(byte *)(iVar10 + 0x15) & 8" (pointer_expression "*(byte *)(iVar10 + 0x15)" (* "*") (cast_expression "(byte *)(iVar10 + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x15)" (( "(") (binary_expression "iVar10 + 0x15" (identifier "iVar10") (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        lVar5 = (lVar3 + lVar4) - lVar5;\n        uVar11 = (uint)lVar5;\n        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);\n        uVar12 = uVar15;\n        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }\n        *(uint *)(iVar10 + 0x30) = uVar11;\n        *(uint *)(iVar10 + 0x2c) = uVar12;\n        lVar34 = lVar3 + lVar4;\n      }" ({ "{") (expression_statement "lVar5 = (lVar3 + lVar4) - lVar5;" (assignment_expression "lVar5 = (lVar3 + lVar4) - lVar5" (identifier "lVar5") (= "=") (binary_expression "(lVar3 + lVar4) - lVar5" (parenthesized_expression "(lVar3 + lVar4)" (( "(") (binary_expression "lVar3 + lVar4" (identifier "lVar3") (+ "+") (identifier "lVar4")) () ")")) (- "-") (identifier "lVar5"))) (; ";")) (expression_statement "uVar11 = (uint)lVar5;" (assignment_expression "uVar11 = (uint)lVar5" (identifier "uVar11") (= "=") (cast_expression "(uint)lVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar5"))) (; ";")) (expression_statement "uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar15 = uVar11 << ((byte)puStack_7c & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "uVar11 << ((byte)puStack_7c & 0x1f)" (identifier "uVar11") (<< "<<") (parenthesized_expression "((byte)puStack_7c & 0x1f)" (( "(") (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puStack_7c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar12 = uVar15;" (assignment_expression "uVar12 = uVar15" (identifier "uVar12") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);" (assignment_expression "uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (identifier "uVar11") (= "=") (binary_expression "(int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |\n                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (binary_expression "(int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f)" (cast_expression "(int)((ulonglong)lVar5 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar5 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar5 >> 0x20" (cast_expression "(ulonglong)lVar5" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar5")) (>> ">>") (number_literal "0x20")) () ")"))) (<< "<<") (parenthesized_expression "((byte)puStack_7c & 0x1f)" (( "(") (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puStack_7c")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f)" (identifier "uVar11") (>> ">>") (binary_expression "0x20 - ((byte)puStack_7c & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "((byte)puStack_7c & 0x1f)" (( "(") (binary_expression "(byte)puStack_7c & 0x1f" (cast_expression "(byte)puStack_7c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puStack_7c")) (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((uVar13 & 0x20) != 0) {\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }" (if "if") (parenthesized_expression "((uVar13 & 0x20) != 0)" (( "(") (binary_expression "(uVar13 & 0x20) != 0" (parenthesized_expression "(uVar13 & 0x20)" (( "(") (binary_expression "uVar13 & 0x20" (identifier "uVar13") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar12 = 0;\n          uVar11 = uVar15;\n        }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = uVar15;" (assignment_expression "uVar11 = uVar15" (identifier "uVar11") (= "=") (identifier "uVar15")) (; ";")) (} "}"))) (expression_statement "*(uint *)(iVar10 + 0x30) = uVar11;" (assignment_expression "*(uint *)(iVar10 + 0x30) = uVar11" (pointer_expression "*(uint *)(iVar10 + 0x30)" (* "*") (cast_expression "(uint *)(iVar10 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x30)" (( "(") (binary_expression "iVar10 + 0x30" (identifier "iVar10") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(uint *)(iVar10 + 0x2c) = uVar12;" (assignment_expression "*(uint *)(iVar10 + 0x2c) = uVar12" (pointer_expression "*(uint *)(iVar10 + 0x2c)" (* "*") (cast_expression "(uint *)(iVar10 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x2c)" (( "(") (binary_expression "iVar10 + 0x2c" (identifier "iVar10") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "lVar34 = lVar3 + lVar4;" (assignment_expression "lVar34 = lVar3 + lVar4" (identifier "lVar34") (= "=") (binary_expression "lVar3 + lVar4" (identifier "lVar3") (+ "+") (identifier "lVar4"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" (else "else") (compound_statement "{\n      uVar11 = *(uint *)(iVar10 + 0x1c);\n      *(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));\n      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;\n    }" ({ "{") (expression_statement "uVar11 = *(uint *)(iVar10 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(iVar10 + 0x1c)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar10 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar10 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));" (assignment_expression "*(uint *)(iVar14 + 0x50) =\n           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (pointer_expression "*(uint *)(iVar14 + 0x50)" (* "*") (cast_expression "(uint *)(iVar14 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x50)" (( "(") (binary_expression "iVar14 + 0x50" (identifier "iVar14") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "(local_34._4_4_ - *(int *)(iVar10 + 0x20)) -\n           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(local_34._4_4_ - *(int *)(iVar10 + 0x20))" (( "(") (binary_expression "local_34._4_4_ - *(int *)(iVar10 + 0x20)" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (- "-") (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (- "-") (call_expression "(uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)local_34 < *(uint *)(iVar10 + 0x1c))" (( "(") (binary_expression "(uint)local_34 < *(uint *)(iVar10 + 0x1c)" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (< "<") (pointer_expression "*(uint *)(iVar10 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar10 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")"))))) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11" (pointer_expression "*(uint *)(iVar14 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x4c)" (( "(") (binary_expression "iVar14 + 0x4c" (identifier "iVar14") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (binary_expression "(uint)local_34 - uVar11" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (- "-") (identifier "uVar11"))) (; ";")) (} "}")))))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);\n    goto code_r0x0002200c;" (case "case") (number_literal "6") (: ":") (expression_statement "uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);" (assignment_expression "uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c)" (identifier "uRam00093cc4") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (goto_statement "goto code_r0x0002200c;" (goto "goto") (statement_identifier "code_r0x0002200c") (; ";"))) (case_statement "case 7:\n    local_9c[4] = *(int *)(param_2 + 0x1c);\n    break;" (case "case") (number_literal "7") (: ":") (expression_statement "local_9c[4] = *(int *)(param_2 + 0x1c);" (assignment_expression "local_9c[4] = *(int *)(param_2 + 0x1c)" (subscript_expression "local_9c[4]" (identifier "local_9c") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);\n    local_9c[7] = (uint)local_34 - *puVar1;\n    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);\n    local_9c[6] = *(int *)(param_2 + 0x1c);\n    FUN_000308d0(local_9c[3],puVar9,&local_34);\n    if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    uVar11 = 1 << (bVar21 & 0x1f);\n    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }\n    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = lVar34;\n    goto joined_r0x00022089;" (case "case") (number_literal "8") (: ":") (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x1c)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) + 0x1c" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" (identifier "uVar11") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);" (assignment_expression "iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x20)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_9c[7] = (uint)local_34 - *puVar1;" (assignment_expression "local_9c[7] = (uint)local_34 - *puVar1" (subscript_expression "local_9c[7]" (identifier "local_9c") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "(uint)local_34 - *puVar1" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (- "-") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")))) (; ";")) (expression_statement "local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);" (assignment_expression "local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11)" (subscript_expression "local_9c[8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "(local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11)" (parenthesized_expression "(local_34._4_4_ - iVar14)" (( "(") (binary_expression "local_34._4_4_ - iVar14" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (- "-") (identifier "iVar14")) () ")")) (- "-") (call_expression "(uint)((uint)local_34 < uVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)local_34 < uVar11)" (( "(") (binary_expression "(uint)local_34 < uVar11" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (< "<") (identifier "uVar11")) () ")"))))) (; ";")) (expression_statement "local_9c[6] = *(int *)(param_2 + 0x1c);" (assignment_expression "local_9c[6] = *(int *)(param_2 + 0x1c)" (subscript_expression "local_9c[6]" (identifier "local_9c") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "FUN_000308d0(local_9c[3],puVar9,&local_34);" (call_expression "FUN_000308d0(local_9c[3],puVar9,&local_34)" (identifier "FUN_000308d0") (argument_list "(local_9c[3],puVar9,&local_34)" (( "(") (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "puVar9") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (if_statement "if (4 < local_9c[2] - 0x11aU) {\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }" (if "if") (parenthesized_expression "(4 < local_9c[2] - 0x11aU)" (( "(") (binary_expression "4 < local_9c[2] - 0x11aU" (number_literal "4") (< "<") (binary_expression "local_9c[2] - 0x11aU" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (- "-") (number_literal "0x11aU"))) () ")")) (compound_statement "{\n                    \n      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);\n    }" ({ "{") (expression_statement "FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);" (call_expression "FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT)" (identifier "FUN_00031d10") (argument_list "("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT)" (( "(") (string_literal ""../../ld/ldlang.c"" (" """) (string_content "../../ld/ldlang.c") (" """)) (, ",") (number_literal "0x14f8") (, ",") (string_literal ""lang_size_sections_1"" (" """) (string_content "lang_size_sections_1") (" """)) (, ",") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar14 = *(int *)(param_2 + 0x1c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "bVar21 = (byte)DAT_0009386c;" (assignment_expression "bVar21 = (byte)DAT_0009386c" (identifier "bVar21") (= "=") (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c"))) (; ";")) (expression_statement "uVar11 = 1 << (bVar21 & 0x1f);" (assignment_expression "uVar11 = 1 << (bVar21 & 0x1f)" (identifier "uVar11") (= "=") (binary_expression "1 << (bVar21 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(bVar21 & 0x1f)" (( "(") (binary_expression "bVar21 & 0x1f" (identifier "bVar21") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }" (if "if") (parenthesized_expression "(uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4))" (( "(") (binary_expression "uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" (identifier "uVar11") (< "<") (pointer_expression "*(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" (* "*") (cast_expression "(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" (( "(") (binary_expression "&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4" (pointer_expression "&UNK_0004dc68" (& "&") (identifier "UNK_0004dc68")) (+ "+") (binary_expression "(local_9c[2] - 0x11aU) * 4" (parenthesized_expression "(local_9c[2] - 0x11aU)" (( "(") (binary_expression "local_9c[2] - 0x11aU" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (- "-") (number_literal "0x11aU")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (compound_statement "{\n      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);\n    }" ({ "{") (expression_statement "uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);" (assignment_expression "uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" (* "*") (cast_expression "(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)" (( "(") (binary_expression "&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4" (pointer_expression "&UNK_0004dc68" (& "&") (identifier "UNK_0004dc68")) (+ "+") (binary_expression "(local_9c[2] - 0x11aU) * 4" (parenthesized_expression "(local_9c[2] - 0x11aU)" (( "(") (binary_expression "local_9c[2] - 0x11aU" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (- "-") (number_literal "0x11aU")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}"))) (expression_statement "lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));" (assignment_expression "lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f))" (identifier "lVar34") (= "=") (binary_expression "local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f))" (identifier "local_34") (+ "+") (call_expression "(ulonglong)(uVar11 >> (bVar21 & 0x1f))" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(uVar11 >> (bVar21 & 0x1f))" (( "(") (binary_expression "uVar11 >> (bVar21 & 0x1f)" (identifier "uVar11") (>> ">>") (parenthesized_expression "(bVar21 & 0x1f)" (( "(") (binary_expression "bVar21 & 0x1f" (identifier "bVar21") (& "&") (number_literal "0x1f")) () ")"))) () ")"))))) (; ";")) (expression_statement "bVar22 = *(byte *)(iVar14 + 0x15);" (assignment_expression "bVar22 = *(byte *)(iVar14 + 0x15)" (identifier "bVar22") (= "=") (pointer_expression "*(byte *)(iVar14 + 0x15)" (* "*") (cast_expression "(byte *)(iVar14 + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x15)" (( "(") (binary_expression "iVar14 + 0x15" (identifier "iVar14") (+ "+") (number_literal "0x15")) () ")"))))) (; ";")) (expression_statement "lVar3 = lVar34;" (assignment_expression "lVar3 = lVar34" (identifier "lVar3") (= "=") (identifier "lVar34")) (; ";")) (goto_statement "goto joined_r0x00022089;" (goto "goto") (statement_identifier "joined_r0x00022089") (; ";"))) (case_statement "case 9:\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);\n    local_9c[10] = (uint)local_34 - uVar11;\n    local_9c[9] = *(int *)(param_2 + 0x1c);\n    iVar10 = bfd_get_reloc_size(local_9c[3]);\n    iVar14 = *(int *)(param_2 + 0x1c);\n    bVar21 = (byte)DAT_0009386c;\n    iVar10 = iVar10 >> (bVar21 & 0x1f);\n    lVar34 = local_34 + iVar10;\n    bVar22 = *(byte *)(iVar14 + 0x15);\n    lVar3 = local_34 + iVar10;\njoined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }\n    break;" (case "case") (number_literal "9") (: ":") (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x1c)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) + 0x1c" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" (identifier "uVar11") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1);" (assignment_expression "local_9c[0xb] =\n         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1)" (subscript_expression "local_9c[0xb]" (identifier "local_9c") ([ "[") (number_literal "0xb") (] "]")) (= "=") (binary_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n         (uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20))" (( "(") (binary_expression "local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (- "-") (pointer_expression "*(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x20)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (- "-") (call_expression "(uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)local_34 < *puVar1)" (( "(") (binary_expression "(uint)local_34 < *puVar1" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (< "<") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) () ")"))))) (; ";")) (expression_statement "local_9c[10] = (uint)local_34 - uVar11;" (assignment_expression "local_9c[10] = (uint)local_34 - uVar11" (subscript_expression "local_9c[10]" (identifier "local_9c") ([ "[") (number_literal "10") (] "]")) (= "=") (binary_expression "(uint)local_34 - uVar11" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (- "-") (identifier "uVar11"))) (; ";")) (expression_statement "local_9c[9] = *(int *)(param_2 + 0x1c);" (assignment_expression "local_9c[9] = *(int *)(param_2 + 0x1c)" (subscript_expression "local_9c[9]" (identifier "local_9c") ([ "[") (number_literal "9") (] "]")) (= "=") (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar10 = bfd_get_reloc_size(local_9c[3]);" (assignment_expression "iVar10 = bfd_get_reloc_size(local_9c[3])" (identifier "iVar10") (= "=") (call_expression "bfd_get_reloc_size(local_9c[3])" (identifier "bfd_get_reloc_size") (argument_list "(local_9c[3])" (( "(") (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (expression_statement "iVar14 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar14 = *(int *)(param_2 + 0x1c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "bVar21 = (byte)DAT_0009386c;" (assignment_expression "bVar21 = (byte)DAT_0009386c" (identifier "bVar21") (= "=") (cast_expression "(byte)DAT_0009386c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0009386c"))) (; ";")) (expression_statement "iVar10 = iVar10 >> (bVar21 & 0x1f);" (assignment_expression "iVar10 = iVar10 >> (bVar21 & 0x1f)" (identifier "iVar10") (= "=") (binary_expression "iVar10 >> (bVar21 & 0x1f)" (identifier "iVar10") (>> ">>") (parenthesized_expression "(bVar21 & 0x1f)" (( "(") (binary_expression "bVar21 & 0x1f" (identifier "bVar21") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "lVar34 = local_34 + iVar10;" (assignment_expression "lVar34 = local_34 + iVar10" (identifier "lVar34") (= "=") (binary_expression "local_34 + iVar10" (identifier "local_34") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "bVar22 = *(byte *)(iVar14 + 0x15);" (assignment_expression "bVar22 = *(byte *)(iVar14 + 0x15)" (identifier "bVar22") (= "=") (pointer_expression "*(byte *)(iVar14 + 0x15)" (* "*") (cast_expression "(byte *)(iVar14 + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x15)" (( "(") (binary_expression "iVar14 + 0x15" (identifier "iVar14") (+ "+") (number_literal "0x15")) () ")"))))) (; ";")) (expression_statement "lVar3 = local_34 + iVar10;" (assignment_expression "lVar3 = local_34 + iVar10" (identifier "lVar3") (= "=") (binary_expression "local_34 + iVar10" (identifier "local_34") (+ "+") (identifier "iVar10"))) (; ";")) (labeled_statement "joined_r0x00022089:\n    if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }" (statement_identifier "joined_r0x00022089") (: ":") (if_statement "if ((bVar22 & 8) == 0) {\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }" (if "if") (parenthesized_expression "((bVar22 & 8) == 0)" (( "(") (binary_expression "(bVar22 & 8) == 0" (parenthesized_expression "(bVar22 & 8)" (( "(") (binary_expression "bVar22 & 8" (identifier "bVar22") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);\n      uVar12 = uVar11 << (bVar21 & 0x1f);\n      uVar13 = uVar12;\n      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);\n      if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }\n      *(uint *)(iVar14 + 0x30) = uVar11;\n      *(uint *)(iVar14 + 0x2c) = uVar13;\n      lVar34 = lVar3;\n    }" ({ "{") (expression_statement "uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);" (assignment_expression "uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c)" (identifier "uVar11") (= "=") (binary_expression "(uint)lVar3 - *(uint *)(iVar14 + 0x1c)" (cast_expression "(uint)lVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar3")) (- "-") (pointer_expression "*(uint *)(iVar14 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x1c)" (( "(") (binary_expression "iVar14 + 0x1c" (identifier "iVar14") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "uVar12 = uVar11 << (bVar21 & 0x1f);" (assignment_expression "uVar12 = uVar11 << (bVar21 & 0x1f)" (identifier "uVar12") (= "=") (binary_expression "uVar11 << (bVar21 & 0x1f)" (identifier "uVar11") (<< "<<") (parenthesized_expression "(bVar21 & 0x1f)" (( "(") (binary_expression "bVar21 & 0x1f" (identifier "bVar21") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar13 = uVar12;" (assignment_expression "uVar13 = uVar12" (identifier "uVar13") (= "=") (identifier "uVar12")) (; ";")) (expression_statement "uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f);" (assignment_expression "uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f)" (identifier "uVar11") (= "=") (binary_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |\n               uVar11 >> 0x20 - (bVar21 & 0x1f)" (binary_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f)" (binary_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -\n               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c))" (parenthesized_expression "((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20))" (( "(") (binary_expression "(int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)" (cast_expression "(int)((ulonglong)lVar3 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar3 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar3")) (>> ">>") (number_literal "0x20")) () ")"))) (- "-") (pointer_expression "*(int *)(iVar14 + 0x20)" (* "*") (cast_expression "(int *)(iVar14 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (- "-") (call_expression "(uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)lVar3 < *(uint *)(iVar14 + 0x1c))" (( "(") (binary_expression "(uint)lVar3 < *(uint *)(iVar14 + 0x1c)" (cast_expression "(uint)lVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar3")) (< "<") (pointer_expression "*(uint *)(iVar14 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x1c)" (( "(") (binary_expression "iVar14 + 0x1c" (identifier "iVar14") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (<< "<<") (parenthesized_expression "(bVar21 & 0x1f)" (( "(") (binary_expression "bVar21 & 0x1f" (identifier "bVar21") (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar11 >> 0x20 - (bVar21 & 0x1f)" (identifier "uVar11") (>> ">>") (binary_expression "0x20 - (bVar21 & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "(bVar21 & 0x1f)" (( "(") (binary_expression "bVar21 & 0x1f" (identifier "bVar21") (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((bVar21 & 0x20) != 0) {\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }" (if "if") (parenthesized_expression "((bVar21 & 0x20) != 0)" (( "(") (binary_expression "(bVar21 & 0x20) != 0" (parenthesized_expression "(bVar21 & 0x20)" (( "(") (binary_expression "bVar21 & 0x20" (identifier "bVar21") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar13 = 0;\n        uVar11 = uVar12;\n      }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" (identifier "uVar11") (= "=") (identifier "uVar12")) (; ";")) (} "}"))) (expression_statement "*(uint *)(iVar14 + 0x30) = uVar11;" (assignment_expression "*(uint *)(iVar14 + 0x30) = uVar11" (pointer_expression "*(uint *)(iVar14 + 0x30)" (* "*") (cast_expression "(uint *)(iVar14 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(uint *)(iVar14 + 0x2c) = uVar13;" (assignment_expression "*(uint *)(iVar14 + 0x2c) = uVar13" (pointer_expression "*(uint *)(iVar14 + 0x2c)" (* "*") (cast_expression "(uint *)(iVar14 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x2c)" (( "(") (binary_expression "iVar14 + 0x2c" (identifier "iVar14") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "lVar34 = lVar3;" (assignment_expression "lVar34 = lVar3" (identifier "lVar34") (= "=") (identifier "lVar3")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n    local_9c[4] = 0;\n    local_9c[5] = 0;\n    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);\n    uVar11 = *puVar1;\n    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);\n    local_9c[2] = (uint)local_34 - uVar11;\n    break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "local_9c[4] = 0;" (assignment_expression "local_9c[4] = 0" (subscript_expression "local_9c[4]" (identifier "local_9c") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[5] = 0;" (assignment_expression "local_9c[5] = 0" (subscript_expression "local_9c[5]" (identifier "local_9c") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(*(int *)(param_2 + 0x1c) + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x1c)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) + 0x1c" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" (identifier "uVar11") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1);" (assignment_expression "local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1)" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -\n                  (uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20))" (( "(") (binary_expression "local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (field_expression "local_34._4_4_" (identifier "local_34") (. ".") (field_identifier "_4_4_")) (- "-") (pointer_expression "*(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(param_2 + 0x1c) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x1c) + 0x20)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (- "-") (call_expression "(uint)((uint)local_34 < *puVar1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)local_34 < *puVar1)" (( "(") (binary_expression "(uint)local_34 < *puVar1" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (< "<") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) () ")"))))) (; ";")) (expression_statement "local_9c[2] = (uint)local_34 - uVar11;" (assignment_expression "local_9c[2] = (uint)local_34 - uVar11" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(uint)local_34 - uVar11" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (- "-") (identifier "uVar11"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xd:\n    goto code_r0x00022351;" (case "case") (number_literal "0xd") (: ":") (goto_statement "goto code_r0x00022351;" (goto "goto") (statement_identifier "code_r0x00022351") (; ";"))) (case_statement "case 0xf:\ncode_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);\n    break;" (case "case") (number_literal "0xf") (: ":") (labeled_statement "code_r0x00022351:\n    lVar34 = FUN_00021f80(lVar34,param_5,param_6);" (statement_identifier "code_r0x00022351") (: ":") (expression_statement "lVar34 = FUN_00021f80(lVar34,param_5,param_6);" (assignment_expression "lVar34 = FUN_00021f80(lVar34,param_5,param_6)" (identifier "lVar34") (= "=") (call_expression "FUN_00021f80(lVar34,param_5,param_6)" (identifier "FUN_00021f80") (argument_list "(lVar34,param_5,param_6)" (( "(") (identifier "lVar34") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    FUN_00032bf0("../../ld/ldlang.c",0x15a7);\n    lVar34 = local_34;" (default "default") (: ":") (expression_statement "FUN_00032bf0("../../ld/ldlang.c",0x15a7);" (call_expression "FUN_00032bf0("../../ld/ldlang.c",0x15a7)" (identifier "FUN_00032bf0") (argument_list "("../../ld/ldlang.c",0x15a7)" (( "(") (string_literal ""../../ld/ldlang.c"" (" """) (string_content "../../ld/ldlang.c") (" """)) (, ",") (number_literal "0x15a7") () ")"))) (; ";")) (expression_statement "lVar34 = local_34;" (assignment_expression "lVar34 = local_34" (identifier "lVar34") (= "=") (identifier "local_34")) (; ";"))) (} "}"))) (labeled_statement "LAB_00022010:\n  piVar25 = (int *)*local_9c;" (statement_identifier "LAB_00022010") (: ":") (expression_statement "piVar25 = (int *)*local_9c;" (assignment_expression "piVar25 = (int *)*local_9c" (identifier "piVar25") (= "=") (cast_expression "(int *)*local_9c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_9c" (* "*") (identifier "local_9c")))) (; ";"))) (expression_statement "param_1 = local_9c;" (assignment_expression "param_1 = local_9c" (identifier "param_1") (= "=") (identifier "local_9c")) (; ";")) (goto_statement "goto joined_r0x00021fcf;" (goto "goto") (statement_identifier "joined_r0x00021fcf") (; ";")) (labeled_statement "code_r0x0002200c:\n  goto LAB_00022010;" (statement_identifier "code_r0x0002200c") (: ":") (goto_statement "goto LAB_00022010;" (goto "goto") (statement_identifier "LAB_00022010") (; ";"))) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

type_1 __regparm3
function_1
          (type_2 **prev,
          type_3 *var_57,type_4 *fill,type_1 var_3,
          type_5 *var_64,type_5 var_27)

{
  type_1 *var_69;
  type_6 *pfVar2;
  type_7 *pbVar3;
  type_8 *output_section;
  type_9 *plVar4;
  type_10 *pwVar5;
  type_11 *tree;
  type_12 uVar6;
  type_12 uVar7;
  type_13 *var_43;
  type_14 bVar9;
  type_15 *var_36;
  type_16 *plVar11;
  type_9 *plVar12;
  type_8 *current_section;
  int var_23;
  type_17 var_16;
  type_17 var_14;
  type_17 var_39;
  type_17 var_42;
  type_5 var_65;
  type_18 *prev_00;
  char *pcVar19;
  type_19 *var_4;
  type_16 *var_20;
  char *pcVar21;
  type_20 var_67;
  type_20 var_22;
  type_15 **extraout_ECX;
  type_17 var_48;
  type_17 var_38;
  type_8 *var_15;
  type_21 *var_45;
  type_17 var_40;
  type_17 var_41;
  type_17 var_47;
  type_20 *var_24;
  type_20 *var_25;
  bool var_26;
  bool bVar34;
  type_20 bVar35;
  type_1 bVar36;
  type_15 **ppuVar37;
  type_9 *var_2;
  type_4 *local_8c;
  type_8 *var_34;
  type_17 var_33;
  type_8 *var_13;
  type_17 var_50;
  type_17 var_30;
  type_16 *var_32;
  type_17 var_31;
  type_17 var_18;
  int var_17;
  type_13 *var_44;
  char *var_46;
  type_22 local_34;
  type_5 var_59;
  int var_58;
  type_12 uStack_14;
  
  bVar35 = 0;
  uStack_14 = 0x21f8b;
  current_section = (type_8 *)(var_1 + 0x180);
  plVar4 = *prev;
  local_8c = fill;
joined_r0x00021fcf:
  var_2 = plVar4;
  if (var_2 == (type_9 *)0x0) {
    return var_3;
  }
  local_34._0_4_ = (type_17)var_3;
  local_34._4_4_ = (type_17)(var_3 >> 0x20);
  local_34 = var_3;
  switch((var_2->header).type) {
  case lang_output_section_statement_enum:
    if ((var_2->var_57).constraint != -1) {
      var_4 = (var_2->var_57).addr_tree;
      if (var_4 == (type_19 *)0x0) {
        if (((link_info._0_1_ & 3) == 2) &&
           ((link_info.output_bfd)->xvec->flavour == var_5)) {
          var_4 = var_6(0);
          (var_2->var_57).addr_tree = var_4;
          if (var_4 != (type_11 *)0x0) goto LAB_00022390;
        }
      }
      else {
LAB_00022390:
        *(type_20 *)((int)var_2 + 0x54) = *(type_20 *)((int)var_2 + 0x54) & 0xfe;
        var_7(var_4,(type_8 *)(var_1 + 0x180),&local_34);
        if (expld.result.valid_p == 0) {
          if (expld.phase != var_8) {
            plVar4 = (var_2->wild_statement).children.head;
            pwVar5 = (var_2->wild_statement).handler_data[1];
            pcVar19 = (char *)var_9(0,
                                        "%F%P:%pS: non constant or forward reference address expression for section %s\n"
                                        ,5);
            var_10(pcVar19,pwVar5,plVar4);
          }
        }
        else {
          local_34 = var_11(expld.result.value._4_4_,(type_17)expld.result.value);
          if (expld.result.section != (type_8 *)0x0) {
            local_34 = var_11(expld.result.value._4_4_ +
                                *(int *)((int)&(expld.result.section)->vma + 4) +
                                (type_17)var_12((type_17)expld.result.value,
                                             (type_17)(expld.result.section)->vma),
                                (type_17)expld.result.value + (int)(expld.result.section)->vma);
          }
        }
      }
      var_36 = var_1;
      var_13 = (var_2->var_57).bfd_section;
      if (var_13 != (type_8 *)0x0) {
        if (((link_info.output_bfd)->xvec->flavour - var_5 < 2) &&
           (var_14 = var_13->flags, (var_14 & 0x4000000) != 0)) {
          var_15 = (var_2->input_section).section;
          if (((var_15 == (type_8 *)0x0) || (var_15->name != (char *)0x0)) || (var_15->id != 5)
             ) {
            plVar4 = (var_2->wild_statement).children.head;
            pcVar19 = (char *)var_9(0,"%X%P: internal error on COFF shared library section %s\n"
                                        ,5);
            var_10(pcVar19,plVar4);
            var_13 = (var_2->var_57).bfd_section;
            var_15 = (var_2->input_section).section;
            var_14 = var_13->flags;
          }
          var_16 = var_15->index;
          uVar6 = *(type_12 *)(var_16 + 0x1c);
          uVar7 = *(type_12 *)(var_16 + 0x20);
          var_13->field_0x18 = var_13->field_0x18 | 1;
          *(type_12 *)&var_13->lma = uVar6;
          *(type_12 *)((int)&var_13->lma + 4) = uVar7;
          *(type_12 *)&var_13->vma = uVar6;
          *(type_12 *)((int)&var_13->vma + 4) = uVar7;
          if ((var_14 & 0x800) == 0) {
            uVar6 = *(type_12 *)(var_16 + 0x30);
            *(type_12 *)&var_13->size = *(type_12 *)(var_16 + 0x2c);
            *(type_12 *)((int)&var_13->size + 4) = uVar6;
          }
        }
        else {
          var_34 = (type_8 *)(type_17)local_34;
          var_33 = local_34._4_4_;
          if (var_13 == (type_8 *)(var_1 + 0x180)) {
            var_30 = 0;
            var_17 = *(int *)(var_1 + 0x1a0);
            var_18 = *(type_17 *)(var_1 + 0x19c);
            if (var_17 != 0 || var_18 != 0) {
              var_19("../../ld/ldlang.c",0x13e5);
              var_18 = 0;
              var_17 = 0;
            }
          }
          else {
            if ((var_2->wild_statement).handler_data[1] == (type_10 *)0x0) {
              var_20 = (var_2->var_57).region;
              var_14 = var_13->flags;
              if (var_20 == (type_16 *)0x0) {
LAB_0002315d:
                var_20 = var_28;
                if ((var_14 & 0x19) == 1) {
                  var_14 = var_14 | 0x20;
                }
                for (; var_20 != (type_16 *)0x0; var_20 = var_20->next) {
                  if (((var_20->flags & var_14) != 0) && ((var_20->not_flags & var_14) == 0))
                  goto LAB_000231b2;
                }
                var_20 = var_21("*default*",0);
                var_13 = (var_2->var_57).bfd_section;
LAB_000231b2:
                (var_2->var_57).region = var_20;
              }
              else if ((var_14 & 3) != 0) {
                var_24 = (type_20 *)(var_20->type_13).name;
                var_22 = *var_24;
                var_26 = var_22 < 0x2a;
                bVar34 = var_22 == 0x2a;
                if (bVar34) {
                  var_23 = 10;
                  var_25 = (type_20 *)"*default*";
                  do {
                    if (var_23 == 0) break;
                    var_23 = var_23 + -1;
                    var_26 = *var_24 < *var_25;
                    bVar34 = *var_24 == *var_25;
                    var_24 = var_24 + (type_17)bVar35 * -2 + 1;
                    var_25 = var_25 + (type_17)bVar35 * -2 + 1;
                  } while (bVar34);
                  if ((!var_26 && !bVar34) == var_26) goto LAB_0002315d;
                }
              }
              plVar11 = var_28;
              if (((((*(type_20 *)((int)var_2 + 0x54) & 8) == 0) && ((var_13->flags & 1) != 0)) &&
                  ((var_13->flags & 0x402) != 0x400)) && ((link_info._0_1_ & 3) != 2)) {
                var_26 = false;
                bVar34 = var_27 == 0;
                if (!bVar34) {
                  var_23 = 10;
                  var_24 = (type_20 *)(var_20->type_13).name;
                  var_25 = (type_20 *)"*default*";
                  do {
                    if (var_23 == 0) break;
                    var_23 = var_23 + -1;
                    var_26 = *var_24 < *var_25;
                    bVar34 = *var_24 == *var_25;
                    var_24 = var_24 + (type_17)bVar35 * -2 + 1;
                    var_25 = var_25 + (type_17)bVar35 * -2 + 1;
                  } while (bVar34);
                  if (((((!var_26 && !bVar34) == var_26) &&
                       (var_28 != (type_16 *)0x0)) &&
                      ((var_23 = var_29((var_28->type_13).name,"*default*"),
                       var_23 != 0 || (plVar11->next != (type_23 *)0x0)))) &&
                     (expld.phase != var_8)) {
                    pcVar19 = var_13->name;
                    if (command_line.check_section_addresses == '\0') {
                      pcVar21 = 
                      "%P: warning: no memory region specified for loadable section `%s\'\n";
                      ppuVar37 = extraout_ECX;
                    }
                    else {
                      pcVar21 = 
                      "%F%P: error: no memory region specified for loadable section `%s\'\n";
                      ppuVar37 = &_GLOBAL_OFFSET_TABLE_;
                    }
                    pcVar21 = (char *)var_9(0,pcVar21,5,ppuVar37);
                    var_10(pcVar21,pcVar19);
                    var_13 = (var_2->var_57).bfd_section;
                    var_20 = (var_2->var_57).region;
                  }
                }
              }
              var_32 = (type_16 *)var_20->current;
              var_31 = *(type_17 *)((int)&var_20->current + 4);
              var_30 = var_13->alignment_power;
            }
            else {
              var_30 = (var_2->var_57).section_alignment;
              var_31 = local_34._4_4_;
              var_32 = (type_16 *)(type_17)local_34;
            }
            if ((int)var_30 < 1) {
              var_18 = 0;
              var_17 = 0;
              var_34 = (type_8 *)var_32;
              var_33 = var_31;
            }
            else {
              var_26 = (var_30 & 0x20) == 0;
              var_23 = (type_17)!var_26 << ((type_20)var_30 & 0x1f);
              var_14 = (type_17)var_26 << ((type_20)var_30 & 0x1f);
              var_34 = (type_8 *)(-var_14 & ((int)var_32 - 1U) + var_14);
              var_33 = -(var_23 + (type_17)(var_14 != 0)) &
                         (var_31 - 1) + (type_17)(var_32 != (type_16 *)0x0) +
                         var_23 + (type_17)var_12((int)var_32 - 1U,var_14);
              var_18 = (int)var_34 - (int)var_32;
              var_17 = (var_33 - var_31) - (type_17)(var_34 < var_32);
              if (((var_17 != 0 || var_18 != 0) &&
                  ((config.warn_section_align != 0 ||
                   ((var_2->wild_statement).handler_data[1] != (type_10 *)0x0)))) &&
                 (expld.phase != var_8)) {
                plVar4 = (var_2->wild_statement).children.head;
                pcVar19 = (char *)var_35(0,
                                             "%P: warning: changing start of section %s by %lu byte\n"
                                             ,
                                             "%P: warning: changing start of section %s by %lu bytes\n"
                                             ,var_18,5);
                var_10(pcVar19,plVar4,var_18);
                var_13 = (var_2->var_57).bfd_section;
              }
            }
            var_13->field_0x18 = var_13->field_0x18 | 1;
            *(type_8 **)&var_13->lma = var_34;
            *(type_17 *)((int)&var_13->lma + 4) = var_33;
            *(type_8 **)&var_13->vma = var_34;
            *(type_17 *)((int)&var_13->vma + 4) = var_33;
            *(type_12 *)&var_13->output_offset = 0;
            *(type_12 *)((int)&var_13->output_offset + 4) = 0;
          }
          function_1
                    ((type_2 **)&(var_2->assignment_statement).exp,
                     &var_2->var_57,(var_2->var_57).fill,
                     var_11(var_33,var_34),var_64,var_27);
          var_22 = *(type_20 *)((int)var_2 + 0x54);
          var_15 = (var_2->var_57).bfd_section;
          *(type_20 *)((int)var_2 + 0x54) = var_22 | 1;
          if (var_15 == (type_8 *)(var_36 + 0x180)) {
            var_33 = *(type_17 *)(var_36 + 0x1b0);
            var_34 = *(type_8 **)(var_36 + 0x1ac);
LAB_00022aad:
            if (var_33 != 0 || var_34 != (type_8 *)0x0) {
              var_19("../../ld/ldlang.c",0x1443);
            }
          }
          else {
            var_34 = (type_8 *)var_15->size;
            var_33 = *(type_17 *)((int)&var_15->size + 4);
            if ((var_22 & 8) != 0) goto LAB_00022aad;
            var_14 = (type_17)var_15->vma;
            var_23 = *(int *)((int)&var_15->vma + 4);
            local_34 = var_15->vma;
            if ((var_15->flags & 0x800) == 0) {
              var_16 = (var_2->var_57).block_value;
              var_38 = (var_14 + var_16) - 1;
              var_22 = (type_20)var_37;
              var_48 = var_33 >> (var_22 & 0x1f);
              var_42 = var_48;
              var_39 = (type_17)var_34 >> (var_22 & 0x1f) | var_33 << 0x20 - (var_22 & 0x1f);
              if ((var_37 & 0x20) != 0) {
                var_42 = 0;
                var_39 = var_48;
              }
              var_40 = var_38 + var_39 & -var_16;
              var_41 = var_40 - var_14;
              var_47 = var_41 << (var_22 & 0x1f);
              var_48 = var_47;
              var_14 = ((var_23 + (type_17)var_12(var_14,var_16) + -1 + (type_17)(var_14 + var_16 != 0) +
                         var_42 + (type_17)var_12(var_38,var_39) & -(type_17)(var_16 != 0)) - var_23) -
                       (type_17)(var_40 < var_14) << (var_22 & 0x1f) | var_41 >> 0x20 - (var_22 & 0x1f)
              ;
              if ((var_37 & 0x20) != 0) {
                var_48 = 0;
                var_14 = var_47;
              }
              *(type_17 *)((int)&var_15->size + 4) = var_14;
              *(type_17 *)&var_15->size = var_48;
            }
          }
          var_32 = (var_2->var_57).region;
          if (var_32 == (type_16 *)0x0) {
            var_32 = var_21("*default*",0);
          }
          if ((var_2->var_57).load_base == (type_11 *)0x0) {
            var_34 = (var_2->var_57).bfd_section;
            var_43 = (type_13 *)(var_2->wild_statement).walk_wild_section_handler;
            var_14 = var_34->flags;
            var_13 = (type_8 *)(var_14 & 1);
            if (var_43 != (type_13 *)0x0) {
              var_44 = var_43[4].next;
              var_46 = var_43[5].name;
              if ((*(type_20 *)((int)var_2 + 0x54) & 0x40) == 0) {
                if (var_43 != (var_2->wild_statement).exclude_name_list) {
                  var_30 = (var_2->var_57).section_alignment;
                }
                if (0 < (int)var_30) {
                  var_22 = (type_20)var_30 & 0x1f;
                  var_42 = 1 << ((type_20)var_30 & 0x1f);
                  var_39 = var_42;
                  var_16 = 0 << var_22 | 1U >> 0x20 - var_22;
                  if ((var_30 & 0x20) != 0) {
                    var_39 = 0;
                    var_16 = var_42;
                  }
                  var_26 = var_44 != (type_13 *)0x0;
                  var_45 = (type_21 *)((int)&var_44[-1].next + 3);
                  var_44 = (type_13 *)((type_17)(var_45 + var_39) & -var_39);
                  var_46 = (char *)(-(var_16 + (var_39 != 0)) &
                                     (type_17)(var_46 +
                                           (type_17)var_12((type_17)var_45,var_39) +
                                           var_16 + (var_26 - 1)));
                }
              }
              else {
                var_26 = var_12((type_17)var_44,var_18);
                var_44 = (type_13 *)((int)&var_44->name + var_18);
                var_46 = var_46 + (type_17)var_26 + var_17;
              }
              *(type_13 **)&var_34->lma = var_44;
              *(char **)((int)&var_34->lma + 4) = var_46;
              goto LAB_0002263c;
            }
            if (var_32->last_os == (type_9 *)0x0) goto LAB_0002263c;
            if (var_13 != (type_8 *)0x0) {
              var_15 = (var_32->last_os->var_57).bfd_section;
              var_16 = (type_17)var_15->vma;
              var_39 = *(type_17 *)((int)&var_15->vma + 4);
              var_42 = (type_17)var_15->lma;
              var_38 = *(type_17 *)((int)&var_15->lma + 4);
              var_22 = (type_20)var_37;
              if (local_34._4_4_ < var_39 ||
                  local_34._4_4_ - var_39 < (type_17)((type_17)local_34 < var_16)) {
                var_48 = (type_17)var_34->size;
                var_47 = *(type_17 *)((int)&var_34->size + 4);
                if (var_47 == 0 && var_48 == 0) goto LAB_000231ba;
                var_40 = var_47 >> (var_22 & 0x1f);
                var_41 = var_40;
                var_48 = var_48 >> (var_22 & 0x1f) | var_47 << 0x20 - (var_22 & 0x1f);
                if ((var_37 & 0x20) != 0) {
                  var_41 = 0;
                  var_48 = var_40;
                }
                var_47 = var_41 + local_34._4_4_ + (type_17)var_12(var_48,(type_17)local_34);
                if (var_39 < var_47 || var_39 - var_47 < (type_17)(var_16 < var_48 + (type_17)local_34))
                goto LAB_000231ba;
                if (var_39 != var_38 || var_16 != var_42) {
                  plVar4 = (var_2->wild_statement).children.head;
                  pcVar19 = (char *)var_9(0,"%P: warning: dot moved backwards before `%s\'\n",5,
                                              var_39);
                  var_10(pcVar19,plVar4);
                  var_34 = (var_2->var_57).bfd_section;
                  var_14 = var_34->flags;
                  var_13 = (type_8 *)(var_14 & 1);
                  goto LAB_0002263c;
                }
              }
              else {
LAB_000231ba:
                if ((var_2->var_57).sectype == var_49) {
                  var_16 = *(type_17 *)((int)&var_15->size + 4);
                  var_48 = var_16 >> (var_22 & 0x1f);
                  var_39 = var_48;
                  var_16 = (type_17)var_15->size >> (var_22 & 0x1f) | var_16 << 0x20 - (var_22 & 0x1f)
                  ;
                  if ((var_37 & 0x20) != 0) {
                    var_39 = 0;
                    var_16 = var_48;
                  }
                  var_13 = (type_8 *)(var_16 + var_42);
                  var_50 = var_39 + var_38 + (type_17)var_12(var_16,var_42);
                }
                else {
                  var_13 = (type_8 *)(((type_17)local_34 + var_42) - var_16);
                  var_50 = ((local_34._4_4_ + var_38 + (type_17)var_12((type_17)local_34,var_42)) -
                             var_39) - (type_17)((type_17)local_34 + var_42 < var_16);
                }
                if (0 < (int)var_30) {
                  var_22 = (type_20)var_30 & 0x1f;
                  var_42 = 1 << ((type_20)var_30 & 0x1f);
                  var_39 = var_42;
                  var_16 = 0 << var_22 | 1U >> 0x20 - var_22;
                  if ((var_30 & 0x20) != 0) {
                    var_39 = 0;
                    var_16 = var_42;
                  }
                  var_26 = var_12(var_39 - 1,(type_17)var_13);
                  var_13 = (type_8 *)((var_39 - 1) + (int)var_13 & -var_39);
                  var_50 = -(var_16 + (var_39 != 0)) &
                             (var_16 - 1) + (type_17)(var_39 != 0) + var_50 + (type_17)var_26;
                }
                *(type_8 **)&var_34->lma = var_13;
                *(type_17 *)((int)&var_34->lma + 4) = var_50;
              }
              *(type_20 *)((int)var_2 + 0x54) = *(type_20 *)((int)var_2 + 0x54) | 2;
              goto LAB_00022648;
            }
            *(type_20 *)((int)var_2 + 0x54) = *(type_20 *)((int)var_2 + 0x54) | 2;
          }
          else {
            bVar36 = var_51((var_2->var_57).load_base,0,"load base");
            var_34 = (var_2->var_57).bfd_section;
            var_14 = var_34->flags;
            var_34->lma = bVar36;
            var_13 = (type_8 *)(var_14 & 1);
LAB_0002263c:
            *(type_20 *)((int)var_2 + 0x54) = *(type_20 *)((int)var_2 + 0x54) | 2;
            if (var_13 != (type_8 *)0x0) {
LAB_00022648:
              if ((var_14 & 0x402) != 0x400) {
                if (*(int *)((int)&var_34->size + 4) == 0 && (int)var_34->size == 0) {
                  if (var_32->last_os == (type_9 *)0x0) {
                    if (*(int *)((int)&var_34->vma + 4) != *(int *)((int)&var_34->lma + 4) ||
                        (int)var_34->vma != (int)var_34->lma) goto LAB_00022a68;
                  }
                  else {
                    var_15 = (var_32->last_os->var_57).bfd_section;
                    var_16 = *(type_17 *)((int)&var_15->vma + 4);
                    if (var_16 <= local_34._4_4_ &&
                        (type_17)((type_17)local_34 < (type_17)var_15->vma) <= local_34._4_4_ - var_16)
                    goto LAB_00022a68;
                  }
                }
                else {
LAB_00022a68:
                  if (((var_2->wild_statement).walk_wild_section_handler ==
                       (type_24)0x0) && ((link_info._0_1_ & 3) != 2)) {
                    var_32->last_os = var_2;
                  }
                }
              }
            }
          }
          if ((var_34 != (type_8 *)(var_36 + 0x180)) &&
             ((*(type_20 *)((int)var_2 + 0x54) & 8) == 0)) {
            if ((var_14 & 0x402) == 0x400) {
              var_13 = (type_8 *)0x0;
              var_50 = 0;
              if ((link_info._0_1_ & 3) == 2) goto LAB_000226bf;
            }
            else {
LAB_000226bf:
              var_14 = *(type_17 *)((int)&var_34->size + 4);
              var_22 = (type_20)var_37 & 0x1f;
              var_16 = var_14 >> ((type_20)var_37 & 0x1f);
              var_13 = (type_8 *)((type_17)var_34->size >> var_22 | var_14 << 0x20 - var_22);
              var_50 = var_16;
              if ((var_37 & 0x20) != 0) {
                var_50 = 0;
                var_13 = (type_8 *)var_16;
              }
            }
            local_34 = var_11(local_34._4_4_ + var_50 +
                                (type_17)var_12((type_17)local_34,(type_17)var_13),
                                (type_17)local_34 + (int)var_13);
            if ((var_2->var_57).update_dot_tree != (type_11 *)0x0) {
              var_7((var_2->var_57).update_dot_tree,
                            (type_8 *)(var_36 + 0x180),&local_34);
            }
            var_20 = (var_2->var_57).region;
            if ((var_20 != (type_16 *)0x0) &&
               (var_15 = (var_2->var_57).bfd_section,
               (var_15->flags & 3) != 0)) {
              *(type_17 *)&var_20->current = (type_17)local_34;
              *(type_17 *)((int)&var_20->current + 4) = local_34._4_4_;
              if (var_27 != 0) {
                var_52((type_3 *)
                                &(var_2->wild_statement).children.tail,var_20,
                                (var_2->var_57).addr_tree,var_15->vma);
              }
              var_20 = (var_2->var_57).lma_region;
              if (((var_20 != (type_16 *)0x0) &&
                  (var_20 !=
                   (type_16 *)(var_2->wild_statement).exclude_name_list)) &&
                 ((var_15 = (var_2->var_57).bfd_section,
                  (var_15->flags & 2) != 0 || ((*(type_20 *)((int)var_2 + 0x54) & 0x40) != 0)))) {
                var_14 = (type_17)var_15->lma;
                var_23 = *(int *)((int)&var_15->lma + 4);
                bVar36 = var_15->lma;
                *(type_17 *)&var_20->current = (int)var_13 + var_14;
                *(type_17 *)((int)&var_20->current + 4) =
                     var_50 + var_23 + (type_17)var_12((type_17)var_13,var_14);
                if (var_27 != 0) {
                  var_52((type_3 *)
                                  &(var_2->wild_statement).children.tail,var_20,
                                  (type_11 *)0x0,bVar36);
                }
              }
            }
          }
        }
      }
    }
    break;
  case lang_assignment_statement_enum:
    var_59 = (type_17)local_34;
    var_58 = local_34._4_4_;
    tree = (type_11 *)(var_2->input_section).section;
    expld.dataseg.relro = exp_seg_relro_none;
    var_7(tree,var_57->bfd_section,(type_1 *)&var_59);
    plVar4 = expld.dataseg.relro_start_stat;
    plVar12 = expld.dataseg.relro_end_stat;
    if (expld.dataseg.relro == var_53) {
      plVar4 = var_2;
      if ((expld.dataseg.relro_start_stat != (type_9 *)0x0) &&
         (plVar4 = expld.dataseg.relro_start_stat, expld.dataseg.relro_start_stat != var_2)) {
        var_14 = 0x137c;
        goto LAB_0002296b;
      }
    }
    else if (((expld.dataseg.relro == var_54) &&
             (plVar12 = var_2, expld.dataseg.relro_end_stat != (type_9 *)0x0)) &&
            (plVar12 = expld.dataseg.relro_end_stat, expld.dataseg.relro_end_stat != var_2)) {
      var_14 = 0x1385;
LAB_0002296b:
      var_19("../../ld/ldlang.c",var_14);
      plVar4 = expld.dataseg.relro_start_stat;
      plVar12 = expld.dataseg.relro_end_stat;
    }
    expld.dataseg.relro_end_stat = plVar12;
    expld.dataseg.relro_start_stat = plVar4;
    expld.dataseg.relro = exp_seg_relro_none;
    if ((((tree->type).node_class & ~etree_unary) == var_55) &&
       ((*(tree->assign).dst != '.' || ((tree->assign).dst[1] != '\0')))) {
      var_57->field_0x54 = var_57->field_0x54 | 0x10;
    }
    if ((var_57->field_0x54 & 8) == 0) {
      if (var_56 == var_57) {
        var_20 = var_21("*default*",0);
        *(type_5 *)&var_20->current = var_59;
        *(int *)((int)&var_20->current + 4) = var_58;
        local_34._0_4_ = var_59;
        local_34._4_4_ = var_58;
      }
      else if (var_58 != local_34._4_4_ || var_59 != (type_17)local_34) {
        var_22 = (type_20)var_37 & 0x1f;
        var_39 = var_59 - (type_17)local_34 << ((type_20)var_37 & 0x1f);
        var_16 = var_39;
        var_14 = (var_58 - local_34._4_4_) - (type_17)((type_17)var_59 < (type_17)local_34) << var_22 |
                 var_59 - (type_17)local_34 >> 0x20 - var_22;
        if ((var_37 & 0x20) != 0) {
          var_16 = 0;
          var_14 = var_39;
        }
        var_60((type_2 **)var_2,local_8c,var_11(var_14,var_16),
                   var_57->bfd_section,local_34);
        var_2 = (var_2->header).next;
        local_34._0_4_ = var_59;
        local_34._4_4_ = var_58;
        if ((var_57->sectype != var_61) &&
           ((var_57->sectype != var_62 ||
            ((link_info.output_bfd)->xvec->flavour == var_63)))) {
          pfVar2 = &var_57->bfd_section->flags;
          *pfVar2 = *pfVar2 | 1;
        }
      }
    }
    break;
  case lang_input_statement_enum:
  case lang_address_statement_enum:
  case lang_target_statement_enum:
  case lang_output_statement_enum:
  case lang_insert_statement_enum:
    goto _L1385;
  case lang_wild_statement_enum:
    prev_00 = (type_18 *)&(var_2->reloc_statement).addend_exp;
    goto LAB_00022351;
  case lang_input_section_enum:
    if (var_64 != (type_5 *)0x0) {
      pbVar3 = ((var_2->input_section).section)->owner;
      var_65 = (*pbVar3->xvec->_bfd_relax_section)
                         (pbVar3,(var_2->input_section).section,
                          (type_25 *)PTR_link_info_00092fa8,&var_59);
      if (var_65 == 0) {
        pcVar19 = (char *)var_9(0,"%F%P: can\'t relax section: %E\n",5);
        var_10(pcVar19);
      }
      if (var_59 != 0) {
        *var_64 = 1;
      }
    }
    var_15 = (((type_26 *)&((type_26 *)prev)->next)->next->
              input_section).section;
    output_section = var_57->bfd_section;
    if ((*(type_27 *)&var_15->field_0x18 & 0x380) == 0x200) {
      var_14 = (type_17)var_15->vma;
      bVar36 = output_section->vma;
      *(type_17 *)((int)&var_15->output_offset + 4) =
           (*(int *)((int)&var_15->vma + 4) - *(int *)((int)&output_section->vma + 4)) -
           (type_17)(var_14 < (type_17)output_section->vma);
      *(type_17 *)&var_15->output_offset = var_14 - (int)bVar36;
    }
    else if (((var_15->flags & 0x8000) == 0) && ((var_57->field_0x54 & 8) == 0))
    {
      var_14 = var_57->subsection_alignment;
      if (var_14 == 0xffffffff) {
        var_14 = var_15->alignment_power;
      }
      else {
        var_15->alignment_power = var_14;
      }
      if (output_section->alignment_power < var_14) {
        output_section->alignment_power = var_14;
        var_14 = var_15->alignment_power;
      }
      var_22 = (type_20)var_14 & 0x1f;
      var_42 = 1 << ((type_20)var_14 & 0x1f);
      var_16 = var_42;
      var_39 = 0 << var_22 | 1U >> 0x20 - var_22;
      if ((var_14 & 0x20) != 0) {
        var_16 = 0;
        var_39 = var_42;
      }
      var_42 = ((type_17)local_34 - 1) + var_16 & -var_16;
      var_39 = -(var_39 + (var_16 != 0)) &
               (local_34._4_4_ - 1) + (type_17)((type_17)local_34 != 0) + var_39 +
               (type_17)var_12((type_17)local_34 - 1,var_16);
      var_16 = var_42 - (type_17)local_34;
      var_23 = (var_39 - local_34._4_4_) - (type_17)(var_42 < (type_17)local_34);
      var_14 = (type_17)local_34;
      if (var_23 != 0 || var_16 != 0) {
        var_13._0_1_ = (type_20)var_37;
        var_48 = var_16 << ((type_20)var_13 & 0x1f);
        var_38 = var_48;
        var_14 = var_23 << ((type_20)var_13 & 0x1f) | var_16 >> 0x20 - ((type_20)var_13 & 0x1f);
        if ((var_37 & 0x20) != 0) {
          var_38 = 0;
          var_14 = var_48;
        }
        var_60(prev,local_8c,var_11(var_14,var_38),output_section,local_34);
        var_14 = var_42;
        local_34._4_4_ = var_39;
      }
      var_42 = var_37;
      var_16 = (type_17)output_section->vma;
      var_23 = *(int *)((int)&output_section->vma + 4);
      var_13._0_1_ = (type_20)var_37;
      *(type_17 *)&var_15->output_offset = var_14 - var_16;
      bVar9 = var_15->size;
      *(type_17 *)((int)&var_15->output_offset + 4) =
           (local_34._4_4_ - var_23) - (type_17)(var_14 < var_16);
      var_39 = *(type_17 *)((int)&var_15->size + 4);
      var_48 = var_39 >> ((type_20)var_13 & 0x1f);
      var_38 = var_48;
      var_39 = (type_17)bVar9 >> ((type_20)var_13 & 0x1f) | var_39 << 0x20 - ((type_20)var_13 & 0x1f);
      if ((var_42 & 0x20) != 0) {
        var_38 = 0;
        var_39 = var_48;
      }
      local_34._0_4_ = var_14 + var_39;
      local_34._4_4_ = local_34._4_4_ + var_38 + (type_17)var_12(var_14,var_39);
      if ((output_section->flags & 0x800) == 0) {
        var_38 = (type_17)local_34 - var_16 << ((type_20)var_13 & 0x1f);
        var_39 = var_38;
        var_14 = (local_34._4_4_ - var_23) - (type_17)((type_17)local_34 < var_16) <<
                 ((type_20)var_13 & 0x1f) | (type_17)local_34 - var_16 >> 0x20 - ((type_20)var_13 & 0x1f)
        ;
        if ((var_42 & 0x20) != 0) {
          var_39 = 0;
          var_14 = var_38;
        }
        *(type_17 *)((int)&output_section->size + 4) = var_14;
        *(type_17 *)&output_section->size = var_39;
      }
    }
    else {
      bVar36 = output_section->vma;
      *(type_17 *)((int)&var_15->output_offset + 4) =
           (local_34._4_4_ - *(int *)((int)&output_section->vma + 4)) -
           (type_17)((type_17)local_34 < (type_17)output_section->vma);
      *(type_17 *)&var_15->output_offset = (type_17)local_34 - (int)bVar36;
    }
    break;
  case lang_object_symbols_statement_enum:
    link_info.create_object_symbols_section = var_57->bfd_section;
    goto _L1385;
  case lang_fill_statement_enum:
    (var_2->wild_statement).section_list = (type_10 *)var_57->bfd_section
    ;
    local_8c = (var_2->fill_statement).fill;
    break;
  case lang_data_statement_enum:
    var_69 = &var_57->bfd_section->vma;
    bVar36 = *var_69;
    var_23 = *(int *)((int)&var_57->bfd_section->vma + 4);
    (var_2->wild_statement).children.tail =
         (type_9 **)((type_17)local_34 - (int)*var_69);
    (var_2->wild_statement).exclude_name_list =
         (type_13 *)((local_34._4_4_ - var_23) - (type_17)((type_17)local_34 < (type_17)bVar36));
    (var_2->wild_statement).children.head =
         (type_9 *)var_57->bfd_section;
    var_7((var_2->data_statement).exp,current_section,&local_34);
    var_14 = (var_2->data_statement).type - 0x11a;
    if (4 < var_14) {
                    /* WARNING: Subroutine does not return */
      var_66("../../ld/ldlang.c",0x14f8,"lang_size_sections_1");
    }
    var_15 = var_57->bfd_section;
    var_67 = (type_20)var_37;
    var_16 = 1 << (var_67 & 0x1f);
    if (var_16 < *(type_17 *)(var_68 + var_14 * 4)) {
      var_16 = *(type_17 *)(var_68 + var_14 * 4);
    }
    var_16 = var_16 >> (var_67 & 0x1f);
    var_14 = var_16 + (type_17)local_34;
    var_23 = local_34._4_4_ + var_12(var_16,(type_17)local_34);
    local_34 = var_11(var_23,var_14);
    var_22 = *(type_20 *)((int)&var_15->flags + 1);
    goto joined_r0x00022089;
  case lang_reloc_statement_enum:
    var_69 = &var_57->bfd_section->vma;
    bVar36 = *var_69;
    (var_2->wild_statement).handler_data[1] =
         (type_10 *)
         ((local_34._4_4_ - *(int *)((int)&var_57->bfd_section->vma + 4)) -
         (type_17)((type_17)local_34 < (type_17)*var_69));
    (var_2->wild_statement).handler_data[0] = (type_10 *)((type_17)local_34 - (int)bVar36);
    (var_2->wild_statement).walk_wild_section_handler =
         (type_24)var_57->bfd_section;
    var_23 = var_70((var_2->wild_statement).filenames_sorted);
    var_15 = var_57->bfd_section;
    var_67 = (type_20)var_37;
    var_16 = var_23 >> (var_67 & 0x1f);
    var_14 = var_16 + (type_17)local_34;
    var_23 = ((int)var_16 >> 0x1f) + local_34._4_4_ + (type_17)var_12(var_16,(type_17)local_34);
    local_34 = var_11(var_23,var_14);
    var_22 = *(type_20 *)((int)&var_15->flags + 1);
joined_r0x00022089:
    if ((var_22 & 8) == 0) {
      var_39 = var_14 - (int)var_15->vma;
      var_42 = var_39 << (var_67 & 0x1f);
      var_16 = var_42;
      var_14 = (var_23 - *(int *)((int)&var_15->vma + 4)) - (type_17)(var_14 < (type_17)var_15->vma) <<
               (var_67 & 0x1f) | var_39 >> 0x20 - (var_67 & 0x1f);
      if ((var_67 & 0x20) != 0) {
        var_16 = 0;
        var_14 = var_42;
      }
      *(type_17 *)((int)&var_15->size + 4) = var_14;
      *(type_17 *)&var_15->size = var_16;
    }
    break;
  case lang_padding_statement_enum:
    (var_2->wild_statement).section_list = (type_10 *)0x0;
    (var_2->wild_statement).keep_sections = 0;
    var_69 = &var_57->bfd_section->vma;
    bVar36 = *var_69;
    (var_2->data_statement).exp =
         (type_19 *)
         ((local_34._4_4_ - *(int *)((int)&var_57->bfd_section->vma + 4)) -
         (type_17)((type_17)local_34 < (type_17)*var_69));
    (var_2->wild_statement).filename = (char *)((type_17)local_34 - (int)bVar36);
    break;
  case lang_group_statement_enum:
    prev_00 = (type_18 *)&(var_2->assignment_statement).exp;
    goto LAB_00022351;
  case lang_constructors_statement_enum:
    prev_00 = &constructor_list;
LAB_00022351:
    local_34 = function_1
                         (&prev_00->head,var_57,local_8c,var_3,var_64,var_27);
    break;
  default:
    var_19("../../ld/ldlang.c",0x15a7);
  }
LAB_00022010:
  plVar4 = ((type_26 *)&(var_2->header).next)->next;
  prev = (type_2 **)var_2;
  var_3 = local_34;
  goto joined_r0x00021fcf;
_L1385:
  goto LAB_00022010;
}


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

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

longlong __regparm2
MASKED(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5,
            int param_6)

{
  uint *puVar1;
  undefined *puVar2;
  longlong lVar3;
  longlong lVar4;
  longlong lVar5;
  undefined *puVar6;
  undefined4 *puVar7;
  int *piVar8;
  undefined *puVar9;
  int iVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  int iVar14;
  uint uVar15;
  undefined4 uVar16;
  char *pcVar17;
  undefined4 uVar18;
  uint uVar19;
  undefined4 *puVar20;
  byte bVar21;
  byte bVar22;
  uint uVar23;
  undefined **extraout_ECX;
  int iVar24;
  int *piVar25;
  uint uVar26;
  uint uVar27;
  byte *pbVar28;
  uint uVar29;
  byte *pbVar30;
  bool bVar31;
  bool bVar32;
  byte bVar33;
  longlong lVar34;
  undefined8 uVar35;
  undefined **ppuVar36;
  int *local_9c;
  undefined *puStack_84;
  uint uStack_80;
  undefined4 *puStack_7c;
  uint uStack_78;
  uint uStack_6c;
  uint uStack_64;
  int iStack_60;
  uint uStack_54;
  int iStack_50;
  uint uStack_4c;
  uint uStack_48;
  undefined8 local_34;
  undefined8 uStack_24;
  undefined4 uStack_14;
  
  bVar33 = 0;
  uStack_14 = 0x21f8b;
  lVar34 = CONCAT44(param_4,param_3);
  puVar9 = PTR__bfd_std_section_00092fb4 + 0x180;
  piVar25 = (int *)*param_1;
joined_r0x00021fcf:
  local_9c = piVar25;
  if (local_9c == (int *)0x0) {
    return lVar34;
  }
  local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);
  local_34._0_4_ = (uint)lVar34;
  local_34 = lVar34;
  switch(local_9c[1]) {
  case 0:
    if (local_9c[0x12] != -1) {
      iVar14 = local_9c[0xb];
      if (iVar14 == 0) {
        if (((DAT_00093c80 & 3) == 2) && (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 2)) {
          iVar14 = FUN_000307b0(0,0);
          local_9c[0xb] = iVar14;
          lVar34 = local_34;
          if (iVar14 != 0) goto code_r0x00022390;
        }
      }
      else {
code_r0x00022390:
        *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) & 0xfe;
        FUN_000308d0(iVar14,PTR__bfd_std_section_00092fb4 + 0x180,&local_34);
        if (DAT_00093e44 == 0) {
          lVar34 = local_34;
          if (DAT_00093e20 != 1) {
            iVar14 = local_9c[6];
            iVar10 = local_9c[0xb];
            uVar16 = dcgettext(0,
                               "%F%P:%pS: non constant or forward reference address expression for section %s\n"
                               ,5);
            FUN_00032ba0(uVar16,iVar10,iVar14);
            lVar34 = local_34;
          }
        }
        else {
          lVar34 = CONCAT44(DAT_00093e38,DAT_00093e34);
          if (DAT_00093e40 != 0) {
            lVar34 = CONCAT44(DAT_00093e38 + *(int *)(DAT_00093e40 + 0x20) +
                              (uint)CARRY4(DAT_00093e34,*(uint *)(DAT_00093e40 + 0x1c)),
                              DAT_00093e34 + *(uint *)(DAT_00093e40 + 0x1c));
          }
        }
      }
      puVar6 = PTR__bfd_std_section_00092fb4;
      puStack_7c = (undefined4 *)local_9c[7];
      if (puStack_7c != (undefined4 *)0x0) {
        local_34 = lVar34;
        if ((*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) - 2U < 2) &&
           (uVar11 = puStack_7c[5], (uVar11 & 0x4000000) != 0)) {
          piVar25 = (int *)local_9c[2];
          if (((piVar25 == (int *)0x0) || (*piVar25 != 0)) || (piVar25[1] != 5)) {
            iVar14 = local_9c[6];
            uVar16 = dcgettext(0,"%X%P: internal error on COFF shared library section %s\n",5);
            FUN_00032ba0(uVar16,iVar14);
            puStack_7c = (undefined4 *)local_9c[7];
            piVar25 = (int *)local_9c[2];
            uVar11 = puStack_7c[5];
          }
          iVar14 = piVar25[2];
          uVar16 = *(undefined4 *)(iVar14 + 0x1c);
          uVar18 = *(undefined4 *)(iVar14 + 0x20);
          *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;
          puStack_7c[9] = uVar16;
          puStack_7c[10] = uVar18;
          puStack_7c[7] = uVar16;
          puStack_7c[8] = uVar18;
          lVar34 = local_34;
          if ((uVar11 & 0x800) == 0) {
            uVar16 = *(undefined4 *)(iVar14 + 0x30);
            puStack_7c[0xb] = *(undefined4 *)(iVar14 + 0x2c);
            puStack_7c[0xc] = uVar16;
          }
        }
        else {
          if (puStack_7c == (undefined4 *)(PTR__bfd_std_section_00092fb4 + 0x180)) {
            uStack_6c = 0;
            iStack_50 = *(int *)(PTR__bfd_std_section_00092fb4 + 0x1a0);
            uStack_54 = *(uint *)(PTR__bfd_std_section_00092fb4 + 0x19c);
            if (iStack_50 != 0 || uStack_54 != 0) {
              FUN_00032bf0("../../ld/ldlang.c",0x13e5);
              uStack_54 = 0;
              iStack_50 = 0;
            }
          }
          else {
            if (local_9c[0xb] == 0) {
              puVar20 = (undefined4 *)local_9c[8];
              uVar11 = puStack_7c[5];
              if (puVar20 == (undefined4 *)0x0) {
code_r0x0002315d:
                puVar20 = DAT_0009384c;
                if ((uVar11 & 0x19) == 1) {
                  uVar11 = uVar11 | 0x20;
                }
                for (; puVar20 != (undefined4 *)0x0; puVar20 = (undefined4 *)puVar20[2]) {
                  if (((puVar20[0xc] & uVar11) != 0) && ((puVar20[0xd] & uVar11) == 0))
                  goto code_r0x000231b2;
                }
                puVar20 = (undefined4 *)FUN_00021e10("*default*",0);
                puStack_7c = (undefined4 *)local_9c[7];
                lVar34 = local_34;
code_r0x000231b2:
                local_9c[8] = (int)puVar20;
              }
              else if ((uVar11 & 3) != 0) {
                bVar22 = *(byte *)*puVar20;
                bVar31 = bVar22 < 0x2a;
                bVar32 = bVar22 == 0x2a;
                if (bVar32) {
                  iVar14 = 10;
                  pbVar28 = (byte *)*puVar20;
                  pbVar30 = (byte *)"*default*";
                  do {
                    if (iVar14 == 0) break;
                    iVar14 = iVar14 + -1;
                    bVar31 = *pbVar28 < *pbVar30;
                    bVar32 = *pbVar28 == *pbVar30;
                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;
                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;
                  } while (bVar32);
                  if ((!bVar31 && !bVar32) == bVar31) goto code_r0x0002315d;
                }
              }
              puVar7 = DAT_0009384c;
              local_34 = lVar34;
              if (((((*(byte *)(local_9c + 0x15) & 8) == 0) && ((puStack_7c[5] & 1) != 0)) &&
                  ((puStack_7c[5] & 0x402) != 0x400)) && ((DAT_00093c80 & 3) != 2)) {
                bVar31 = false;
                bVar32 = param_6 == 0;
                if (!bVar32) {
                  iVar14 = 10;
                  pbVar28 = (byte *)*puVar20;
                  pbVar30 = (byte *)"*default*";
                  do {
                    if (iVar14 == 0) break;
                    iVar14 = iVar14 + -1;
                    bVar31 = *pbVar28 < *pbVar30;
                    bVar32 = *pbVar28 == *pbVar30;
                    pbVar28 = pbVar28 + (uint)bVar33 * -2 + 1;
                    pbVar30 = pbVar30 + (uint)bVar33 * -2 + 1;
                  } while (bVar32);
                  if (((!bVar31 && !bVar32) == bVar31) && (DAT_0009384c != (undefined4 *)0x0)) {
                    iVar14 = strcmp((char *)*DAT_0009384c,"*default*");
                    if (((iVar14 != 0) || (puVar7[2] != 0)) && (DAT_00093e20 != 1)) {
                      uVar16 = *puStack_7c;
                      if (DAT_00093d38 == '\0') {
                        pcVar17 = 
                        "%P: warning: no memory region specified for loadable section `%s\'\n";
                        ppuVar36 = extraout_ECX;
                      }
                      else {
                        pcVar17 = 
                        "%F%P: error: no memory region specified for loadable section `%s\'\n";
                        ppuVar36 = &__DT_PLTGOT;
                      }
                      uVar18 = dcgettext(0,pcVar17,5,ppuVar36);
                      FUN_00032ba0(uVar18,uVar16);
                      puStack_7c = (undefined4 *)local_9c[7];
                      puVar20 = (undefined4 *)local_9c[8];
                    }
                  }
                }
              }
              lVar34 = *(longlong *)(puVar20 + 9);
              uStack_6c = puStack_7c[0x16];
            }
            else {
              uStack_6c = local_9c[0x11];
            }
            iStack_60 = (int)((ulonglong)lVar34 >> 0x20);
            uStack_64 = (uint)lVar34;
            if ((int)uStack_6c < 1) {
              uStack_54 = 0;
              iStack_50 = 0;
            }
            else {
              bVar31 = (uStack_6c & 0x20) == 0;
              iVar10 = (uint)!bVar31 << ((byte)uStack_6c & 0x1f);
              iVar14 = (uint)bVar31 << ((byte)uStack_6c & 0x1f);
              lVar34 = lVar34 + -1 + CONCAT44(iVar10,iVar14);
              uVar13 = -iVar14 & (uint)lVar34;
              uVar11 = -(iVar10 + (uint)(iVar14 != 0)) & (uint)((ulonglong)lVar34 >> 0x20);
              uStack_54 = uVar13 - uStack_64;
              iStack_50 = (uVar11 - iStack_60) - (uint)(uVar13 < uStack_64);
              lVar34 = CONCAT44(uVar11,uVar13);
              if (((iStack_50 != 0 || uStack_54 != 0) &&
                  ((iRam00093da4 != 0 || (lVar34 = CONCAT44(uVar11,uVar13), local_9c[0xb] != 0))))
                 && (lVar34 = CONCAT44(uVar11,uVar13), DAT_00093e20 != 1)) {
                iVar14 = local_9c[6];
                uVar16 = dcngettext(0,"%P: warning: changing start of section %s by %lu byte\n",
                                    "%P: warning: changing start of section %s by %lu bytes\n",
                                    uStack_54,5);
                FUN_00032ba0(uVar16,iVar14,uStack_54);
                puStack_7c = (undefined4 *)local_9c[7];
                lVar34 = CONCAT44(uVar11,uVar13);
              }
            }
            *(byte *)(puStack_7c + 6) = *(byte *)(puStack_7c + 6) | 1;
            *(longlong *)(puStack_7c + 9) = lVar34;
            *(longlong *)(puStack_7c + 7) = lVar34;
            puStack_7c[0x13] = 0;
            puStack_7c[0x14] = 0;
          }
          MASKED(lVar34,param_5,param_6);
          bVar22 = *(byte *)(local_9c + 0x15);
          puVar2 = (undefined *)local_9c[7];
          *(byte *)(local_9c + 0x15) = bVar22 | 1;
          if (puVar2 == puVar6 + 0x180) {
            uStack_80 = *(uint *)(puVar6 + 0x1b0);
            puStack_84 = *(undefined **)(puVar6 + 0x1ac);
code_r0x00022aad:
            if (uStack_80 != 0 || puStack_84 != (undefined *)0x0) {
              FUN_00032bf0("../../ld/ldlang.c",0x1443);
            }
          }
          else {
            puStack_84 = *(undefined **)(puVar2 + 0x2c);
            uStack_80 = *(uint *)(puVar2 + 0x30);
            if ((bVar22 & 8) != 0) goto code_r0x00022aad;
            puVar1 = (uint *)(puVar2 + 0x1c);
            uVar11 = *puVar1;
            local_34 = *(longlong *)puVar1;
            if ((puVar2[0x15] & 8) == 0) {
              uVar13 = local_9c[0xf];
              uVar19 = (uVar11 + uVar13) - 1;
              bVar22 = (byte)DAT_0009386c;
              uVar27 = uStack_80 >> (bVar22 & 0x1f);
              uVar15 = uVar27;
              uVar12 = (uint)puStack_84 >> (bVar22 & 0x1f) | uStack_80 << 0x20 - (bVar22 & 0x1f);
              if ((DAT_0009386c & 0x20) != 0) {
                uVar15 = 0;
                uVar12 = uVar27;
              }
              uVar29 = uVar19 + uVar12 & -uVar13;
              uVar23 = uVar29 - uVar11;
              uVar26 = uVar23 << (bVar22 & 0x1f);
              uVar27 = uVar26;
              uVar11 = ((*(int *)(puVar2 + 0x20) + (uint)CARRY4(uVar11,uVar13) + -1 +
                         (uint)(uVar11 + uVar13 != 0) + uVar15 + (uint)CARRY4(uVar19,uVar12) &
                        -(uint)(uVar13 != 0)) - *(int *)(puVar2 + 0x20)) - (uint)(uVar29 < uVar11)
                       << (bVar22 & 0x1f) | uVar23 >> 0x20 - (bVar22 & 0x1f);
              if ((DAT_0009386c & 0x20) != 0) {
                uVar27 = 0;
                uVar11 = uVar26;
              }
              *(uint *)(puVar2 + 0x30) = uVar11;
              *(uint *)(puVar2 + 0x2c) = uVar27;
              local_34 = *(longlong *)puVar1;
            }
          }
          uStack_64 = local_9c[8];
          lVar34 = local_34;
          if (uStack_64 == 0) {
            uStack_64 = FUN_00021e10("*default*",0);
            lVar34 = local_34;
          }
          local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);
          local_34._0_4_ = (uint)lVar34;
          local_34 = lVar34;
          if (local_9c[0xc] == 0) {
            puStack_84 = (undefined *)local_9c[7];
            iVar14 = local_9c[9];
            uVar11 = *(uint *)(puStack_84 + 0x14);
            puStack_7c = (undefined4 *)(uVar11 & 1);
            if (iVar14 != 0) {
              uStack_4c = *(uint *)(iVar14 + 0x24);
              uStack_48 = *(uint *)(iVar14 + 0x28);
              if ((*(byte *)(local_9c + 0x15) & 0x40) == 0) {
                if (iVar14 != local_9c[8]) {
                  uStack_6c = local_9c[0x11];
                }
                if (0 < (int)uStack_6c) {
                  bVar22 = (byte)uStack_6c & 0x1f;
                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);
                  uVar12 = uVar15;
                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;
                  if ((uStack_6c & 0x20) != 0) {
                    uVar12 = 0;
                    uVar13 = uVar15;
                  }
                  bVar31 = uStack_4c != 0;
                  uVar15 = uStack_4c - 1;
                  uStack_4c = uVar15 + uVar12 & -uVar12;
                  uStack_48 = -(uVar13 + (uVar12 != 0)) &
                              (uStack_48 - 1) + (uint)bVar31 + uVar13 + (uint)CARRY4(uVar15,uVar12);
                }
              }
              else {
                bVar31 = CARRY4(uStack_4c,uStack_54);
                uStack_4c = uStack_4c + uStack_54;
                uStack_48 = uStack_48 + iStack_50 + (uint)bVar31;
              }
              *(uint *)(puStack_84 + 0x24) = uStack_4c;
              *(uint *)(puStack_84 + 0x28) = uStack_48;
              goto code_r0x0002263c;
            }
            if (*(int *)(uStack_64 + 0x2c) == 0) goto code_r0x0002263c;
            if (puStack_7c != (undefined4 *)0x0) {
              iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);
              uVar13 = *(uint *)(iVar14 + 0x1c);
              uVar12 = *(uint *)(iVar14 + 0x20);
              uVar15 = *(uint *)(iVar14 + 0x24);
              bVar22 = (byte)DAT_0009386c;
              if (local_34._4_4_ < uVar12 ||
                  local_34._4_4_ - uVar12 < (uint)((uint)local_34 < uVar13)) {
                uVar19 = *(uint *)(puStack_84 + 0x30);
                if (uVar19 == 0 && *(uint *)(puStack_84 + 0x2c) == 0) goto code_r0x000231ba;
                uVar26 = uVar19 >> (bVar22 & 0x1f);
                uVar27 = uVar26;
                uVar19 = *(uint *)(puStack_84 + 0x2c) >> (bVar22 & 0x1f) |
                         uVar19 << 0x20 - (bVar22 & 0x1f);
                if ((DAT_0009386c & 0x20) != 0) {
                  uVar27 = 0;
                  uVar19 = uVar26;
                }
                lVar3 = lVar34 + CONCAT44(uVar27,uVar19);
                uVar19 = (uint)((ulonglong)lVar3 >> 0x20);
                if (uVar12 < uVar19 || uVar12 - uVar19 < (uint)(uVar13 < (uint)lVar3))
                goto code_r0x000231ba;
                if (uVar12 != *(uint *)(iVar14 + 0x28) || uVar13 != uVar15) {
                  iVar14 = local_9c[6];
                  uVar16 = dcgettext(0,"%P: warning: dot moved backwards before `%s\'\n",5,uVar12);
                  FUN_00032ba0(uVar16,iVar14);
                  puStack_84 = (undefined *)local_9c[7];
                  uVar11 = *(uint *)(puStack_84 + 0x14);
                  puStack_7c = (undefined4 *)(uVar11 & 1);
                  lVar34 = local_34;
                  goto code_r0x0002263c;
                }
              }
              else {
code_r0x000231ba:
                if (local_9c[0x14] == 1) {
                  uVar19 = *(uint *)(iVar14 + 0x30) >> (bVar22 & 0x1f);
                  uVar12 = uVar19;
                  uVar13 = *(uint *)(iVar14 + 0x2c) >> (bVar22 & 0x1f) |
                           *(uint *)(iVar14 + 0x30) << 0x20 - (bVar22 & 0x1f);
                  if ((DAT_0009386c & 0x20) != 0) {
                    uVar12 = 0;
                    uVar13 = uVar19;
                  }
                  lVar3 = CONCAT44(uVar12 + *(uint *)(iVar14 + 0x28) + (uint)CARRY4(uVar13,uVar15),
                                   uVar13 + uVar15);
                }
                else {
                  lVar3 = (lVar34 + *(longlong *)(iVar14 + 0x24)) - *(longlong *)(iVar14 + 0x1c);
                }
                if (0 < (int)uStack_6c) {
                  bVar22 = (byte)uStack_6c & 0x1f;
                  uVar15 = 1 << ((byte)uStack_6c & 0x1f);
                  uVar12 = uVar15;
                  uVar13 = 0 << bVar22 | 1U >> 0x20 - bVar22;
                  if ((uStack_6c & 0x20) != 0) {
                    uVar12 = 0;
                    uVar13 = uVar15;
                  }
                  lVar3 = lVar3 + CONCAT44((uVar13 - 1) + (uint)(uVar12 != 0),uVar12 - 1);
                  lVar3 = CONCAT44(-(uVar13 + (uVar12 != 0)) & (uint)((ulonglong)lVar3 >> 0x20),
                                   (uint)lVar3 & -uVar12);
                }
                *(longlong *)(puStack_84 + 0x24) = lVar3;
              }
              *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;
              goto code_r0x00022648;
            }
            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;
          }
          else {
            uVar35 = FUN_00031200(local_9c[0xc],0,"load base");
            puStack_84 = (undefined *)local_9c[7];
            uVar11 = *(uint *)(puStack_84 + 0x14);
            *(undefined8 *)(puStack_84 + 0x24) = uVar35;
            puStack_7c = (undefined4 *)(uVar11 & 1);
            lVar34 = local_34;
code_r0x0002263c:
            *(byte *)(local_9c + 0x15) = *(byte *)(local_9c + 0x15) | 2;
            if (puStack_7c != (undefined4 *)0x0) {
code_r0x00022648:
              local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);
              local_34._0_4_ = (uint)lVar34;
              if ((uVar11 & 0x402) != 0x400) {
                if (*(int *)(puStack_84 + 0x30) == 0 && *(int *)(puStack_84 + 0x2c) == 0) {
                  if (*(int *)(uStack_64 + 0x2c) == 0) {
                    if (*(int *)(puStack_84 + 0x20) != *(int *)(puStack_84 + 0x28) ||
                        *(int *)(puStack_84 + 0x1c) != *(int *)(puStack_84 + 0x24))
                    goto code_r0x00022a68;
                  }
                  else {
                    iVar14 = *(int *)(*(int *)(uStack_64 + 0x2c) + 0x1c);
                    uVar13 = *(uint *)(iVar14 + 0x20);
                    if (uVar13 <= local_34._4_4_ &&
                        (uint)((uint)local_34 < *(uint *)(iVar14 + 0x1c)) <= local_34._4_4_ - uVar13
                       ) goto code_r0x00022a68;
                  }
                }
                else {
code_r0x00022a68:
                  if ((local_9c[9] == 0) && ((DAT_00093c80 & 3) != 2)) {
                    *(int **)(uStack_64 + 0x2c) = local_9c;
                  }
                }
              }
            }
          }
          if ((puStack_84 != puVar6 + 0x180) && ((*(byte *)(local_9c + 0x15) & 8) == 0)) {
            if ((uVar11 & 0x402) == 0x400) {
              puStack_7c = (undefined4 *)0x0;
              uStack_78 = 0;
              if ((DAT_00093c80 & 3) == 2) goto code_r0x000226bf;
            }
            else {
code_r0x000226bf:
              bVar22 = (byte)DAT_0009386c & 0x1f;
              uVar11 = *(uint *)(puStack_84 + 0x30) >> ((byte)DAT_0009386c & 0x1f);
              puStack_7c = (undefined4 *)
                           (*(uint *)(puStack_84 + 0x2c) >> bVar22 |
                           *(uint *)(puStack_84 + 0x30) << 0x20 - bVar22);
              uStack_78 = uVar11;
              if ((DAT_0009386c & 0x20) != 0) {
                uStack_78 = 0;
                puStack_7c = (undefined4 *)uVar11;
              }
            }
            local_34 = lVar34 + CONCAT44(uStack_78,puStack_7c);
            if (local_9c[0xd] != 0) {
              FUN_000308d0(local_9c[0xd],puVar6 + 0x180,&local_34);
            }
            lVar34 = local_34;
            if ((local_9c[8] != 0) && (iVar14 = local_9c[7], (*(byte *)(iVar14 + 0x14) & 3) != 0)) {
              *(longlong *)(local_9c[8] + 0x24) = local_34;
              if (param_6 != 0) {
                FUN_0001f1f0(*(undefined4 *)(iVar14 + 0x1c),*(undefined4 *)(iVar14 + 0x20));
              }
              iVar14 = local_9c[9];
              lVar34 = local_34;
              if (((iVar14 != 0) && (iVar14 != local_9c[8])) &&
                 ((iVar10 = local_9c[7], (*(byte *)(iVar10 + 0x14) & 2) != 0 ||
                  ((*(byte *)(local_9c + 0x15) & 0x40) != 0)))) {
                uVar11 = *(uint *)(iVar10 + 0x24);
                iVar10 = *(int *)(iVar10 + 0x28);
                *(uint *)(iVar14 + 0x24) = (int)puStack_7c + uVar11;
                *(uint *)(iVar14 + 0x28) =
                     uStack_78 + iVar10 + (uint)CARRY4((uint)puStack_7c,uVar11);
                if (param_6 != 0) {
                  FUN_0001f1f0(uVar11,iVar10);
                  lVar34 = local_34;
                }
              }
            }
          }
        }
      }
    }
    break;
  case 1:
    iVar14 = local_9c[2];
    iRam00093e8c = 0;
    uStack_24 = lVar34;
    FUN_000308d0(iVar14,*(undefined4 *)(param_2 + 0x1c),&uStack_24);
    piVar25 = DAT_00093e90;
    piVar8 = DAT_00093e94;
    lVar34 = local_34;
    if (iRam00093e8c == 1) {
      piVar25 = local_9c;
      if ((DAT_00093e90 != (int *)0x0) && (piVar25 = DAT_00093e90, DAT_00093e90 != local_9c)) {
        uVar16 = 0x137c;
        goto code_r0x0002296b;
      }
    }
    else if (((iRam00093e8c == 2) && (piVar8 = local_9c, DAT_00093e94 != (int *)0x0)) &&
            (piVar8 = DAT_00093e94, DAT_00093e94 != local_9c)) {
      uVar16 = 0x1385;
code_r0x0002296b:
      FUN_00032bf0("../../ld/ldlang.c",uVar16);
      piVar25 = DAT_00093e90;
      piVar8 = DAT_00093e94;
      lVar34 = local_34;
    }
    DAT_00093e94 = piVar8;
    DAT_00093e90 = piVar25;
    iRam00093e8c = 0;
    if (((*(uint *)(iVar14 + 0xc) & 0xfffffffd) == 4) &&
       ((**(char **)(iVar14 + 0x10) != '.' || ((*(char **)(iVar14 + 0x10))[1] != '\0')))) {
      *(byte *)(param_2 + 0x54) = *(byte *)(param_2 + 0x54) | 0x10;
    }
    if ((*(byte *)(param_2 + 0x54) & 8) == 0) {
      local_34 = lVar34;
      if (DAT_00093c2c == param_2) {
        iVar14 = FUN_00021e10("*default*",0);
        *(longlong *)(iVar14 + 0x24) = uStack_24;
        lVar34 = uStack_24;
      }
      else if (lVar34 != uStack_24) {
        uVar11 = (uint)(uStack_24 - lVar34);
        bVar22 = (byte)DAT_0009386c & 0x1f;
        uVar12 = uVar11 << ((byte)DAT_0009386c & 0x1f);
        uVar13 = uVar12;
        uVar11 = (int)((ulonglong)(uStack_24 - lVar34) >> 0x20) << bVar22 | uVar11 >> 0x20 - bVar22;
        if ((DAT_0009386c & 0x20) != 0) {
          uVar13 = 0;
          uVar11 = uVar12;
        }
        FUN_00021870(uVar13,uVar11,*(undefined4 *)(param_2 + 0x1c),lVar34);
        local_9c = (int *)*local_9c;
        lVar34 = uStack_24;
        if ((*(int *)(param_2 + 0x50) != 3) &&
           ((*(int *)(param_2 + 0x50) != 2 || (*(int *)(*(int *)(DAT_00093cb4 + 4) + 4) == 5)))) {
          puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x14);
          *puVar1 = *puVar1 | 1;
        }
      }
    }
    break;
  case 2:
  case 3:
  case 10:
  case 0xb:
  case 0xe:
    goto code_r0x0002200c;
  case 4:
    goto code_r0x00022351;
  case 5:
    if (param_5 != (undefined4 *)0x0) {
      iVar14 = *(int *)(local_9c[2] + 0xac);
      iVar14 = (**(code **)(*(int *)(iVar14 + 4) + 0x164))
                         (iVar14,local_9c[2],PTR_DAT_00092fa8,&uStack_24);
      lVar34 = local_34;
      if (iVar14 == 0) {
        uVar16 = dcgettext(0,"%F%P: can\'t relax section: %E\n",5);
        FUN_00032ba0(uVar16);
        lVar34 = local_34;
      }
      if ((int)uStack_24 != 0) {
        *param_5 = 1;
      }
    }
    local_34._4_4_ = (uint)((ulonglong)lVar34 >> 0x20);
    local_34._0_4_ = (uint)lVar34;
    iVar14 = *(int *)(*param_1 + 8);
    iVar10 = *(int *)(param_2 + 0x1c);
    if ((*(ushort *)(iVar14 + 0x18) & 0x380) == 0x200) {
      uVar11 = *(uint *)(iVar10 + 0x1c);
      *(uint *)(iVar14 + 0x50) =
           (*(int *)(iVar14 + 0x20) - *(int *)(iVar10 + 0x20)) -
           (uint)(*(uint *)(iVar14 + 0x1c) < *(uint *)(iVar10 + 0x1c));
      *(uint *)(iVar14 + 0x4c) = *(uint *)(iVar14 + 0x1c) - uVar11;
    }
    else if (((*(byte *)(iVar14 + 0x15) & 0x80) == 0) && ((*(byte *)(param_2 + 0x54) & 8) == 0)) {
      uVar11 = *(uint *)(param_2 + 0x40);
      if (uVar11 == 0xffffffff) {
        uVar11 = *(uint *)(iVar14 + 0x58);
      }
      else {
        *(uint *)(iVar14 + 0x58) = uVar11;
      }
      if (*(uint *)(iVar10 + 0x58) < uVar11) {
        *(uint *)(iVar10 + 0x58) = uVar11;
        uVar11 = *(uint *)(iVar14 + 0x58);
      }
      bVar22 = (byte)uVar11 & 0x1f;
      uVar15 = 1 << ((byte)uVar11 & 0x1f);
      uVar13 = uVar15;
      uVar12 = 0 << bVar22 | 1U >> 0x20 - bVar22;
      if ((uVar11 & 0x20) != 0) {
        uVar13 = 0;
        uVar12 = uVar15;
      }
      lVar3 = lVar34 + -1 + CONCAT44(uVar12,uVar13);
      uVar15 = (uint)lVar3 & -uVar13;
      uVar13 = -(uVar12 + (uVar13 != 0)) & (uint)((ulonglong)lVar3 >> 0x20);
      uVar11 = uVar15 - (uint)local_34;
      iVar24 = (uVar13 - local_34._4_4_) - (uint)(uVar15 < (uint)local_34);
      lVar3 = lVar34;
      if (iVar24 != 0 || uVar11 != 0) {
        puStack_7c._0_1_ = (byte)DAT_0009386c;
        uVar19 = uVar11 << ((byte)puStack_7c & 0x1f);
        uVar12 = uVar19;
        uVar11 = iVar24 << ((byte)puStack_7c & 0x1f) | uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);
        if ((DAT_0009386c & 0x20) != 0) {
          uVar12 = 0;
          uVar11 = uVar19;
        }
        local_34 = lVar34;
        FUN_00021870(uVar12,uVar11,iVar10,lVar34);
        lVar3 = CONCAT44(uVar13,uVar15);
      }
      uVar13 = DAT_0009386c;
      lVar5 = *(longlong *)(iVar10 + 0x1c);
      puStack_7c._0_1_ = (byte)DAT_0009386c;
      *(longlong *)(iVar14 + 0x4c) = lVar3 - lVar5;
      uVar15 = *(uint *)(iVar14 + 0x30) >> ((byte)puStack_7c & 0x1f);
      uVar12 = uVar15;
      uVar11 = *(uint *)(iVar14 + 0x2c) >> ((byte)puStack_7c & 0x1f) |
               *(uint *)(iVar14 + 0x30) << 0x20 - ((byte)puStack_7c & 0x1f);
      if ((uVar13 & 0x20) != 0) {
        uVar12 = 0;
        uVar11 = uVar15;
      }
      lVar4 = CONCAT44(uVar12,uVar11);
      lVar34 = lVar3 + lVar4;
      if ((*(byte *)(iVar10 + 0x15) & 8) == 0) {
        lVar5 = (lVar3 + lVar4) - lVar5;
        uVar11 = (uint)lVar5;
        uVar15 = uVar11 << ((byte)puStack_7c & 0x1f);
        uVar12 = uVar15;
        uVar11 = (int)((ulonglong)lVar5 >> 0x20) << ((byte)puStack_7c & 0x1f) |
                 uVar11 >> 0x20 - ((byte)puStack_7c & 0x1f);
        if ((uVar13 & 0x20) != 0) {
          uVar12 = 0;
          uVar11 = uVar15;
        }
        *(uint *)(iVar10 + 0x30) = uVar11;
        *(uint *)(iVar10 + 0x2c) = uVar12;
        lVar34 = lVar3 + lVar4;
      }
    }
    else {
      uVar11 = *(uint *)(iVar10 + 0x1c);
      *(uint *)(iVar14 + 0x50) =
           (local_34._4_4_ - *(int *)(iVar10 + 0x20)) -
           (uint)((uint)local_34 < *(uint *)(iVar10 + 0x1c));
      *(uint *)(iVar14 + 0x4c) = (uint)local_34 - uVar11;
    }
    break;
  case 6:
    uRam00093cc4 = *(undefined4 *)(param_2 + 0x1c);
    goto code_r0x0002200c;
  case 7:
    local_9c[4] = *(int *)(param_2 + 0x1c);
    break;
  case 8:
    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);
    uVar11 = *puVar1;
    iVar14 = *(int *)(*(int *)(param_2 + 0x1c) + 0x20);
    local_9c[7] = (uint)local_34 - *puVar1;
    local_9c[8] = (local_34._4_4_ - iVar14) - (uint)((uint)local_34 < uVar11);
    local_9c[6] = *(int *)(param_2 + 0x1c);
    FUN_000308d0(local_9c[3],puVar9,&local_34);
    if (4 < local_9c[2] - 0x11aU) {
                    /* WARNING: Subroutine does not return */
      FUN_00031d10("../../ld/ldlang.c",0x14f8,"lang_size_sections_1",&__DT_PLTGOT);
    }
    iVar14 = *(int *)(param_2 + 0x1c);
    bVar21 = (byte)DAT_0009386c;
    uVar11 = 1 << (bVar21 & 0x1f);
    if (uVar11 < *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4)) {
      uVar11 = *(uint *)(&UNK_0004dc68 + (local_9c[2] - 0x11aU) * 4);
    }
    lVar34 = local_34 + (ulonglong)(uVar11 >> (bVar21 & 0x1f));
    bVar22 = *(byte *)(iVar14 + 0x15);
    lVar3 = lVar34;
    goto joined_r0x00022089;
  case 9:
    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);
    uVar11 = *puVar1;
    local_9c[0xb] =
         (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -
         (uint)((uint)local_34 < *puVar1);
    local_9c[10] = (uint)local_34 - uVar11;
    local_9c[9] = *(int *)(param_2 + 0x1c);
    iVar10 = bfd_get_reloc_size(local_9c[3]);
    iVar14 = *(int *)(param_2 + 0x1c);
    bVar21 = (byte)DAT_0009386c;
    iVar10 = iVar10 >> (bVar21 & 0x1f);
    lVar34 = local_34 + iVar10;
    bVar22 = *(byte *)(iVar14 + 0x15);
    lVar3 = local_34 + iVar10;
joined_r0x00022089:
    if ((bVar22 & 8) == 0) {
      uVar11 = (uint)lVar3 - *(uint *)(iVar14 + 0x1c);
      uVar12 = uVar11 << (bVar21 & 0x1f);
      uVar13 = uVar12;
      uVar11 = ((int)((ulonglong)lVar3 >> 0x20) - *(int *)(iVar14 + 0x20)) -
               (uint)((uint)lVar3 < *(uint *)(iVar14 + 0x1c)) << (bVar21 & 0x1f) |
               uVar11 >> 0x20 - (bVar21 & 0x1f);
      if ((bVar21 & 0x20) != 0) {
        uVar13 = 0;
        uVar11 = uVar12;
      }
      *(uint *)(iVar14 + 0x30) = uVar11;
      *(uint *)(iVar14 + 0x2c) = uVar13;
      lVar34 = lVar3;
    }
    break;
  case 0xc:
    local_9c[4] = 0;
    local_9c[5] = 0;
    puVar1 = (uint *)(*(int *)(param_2 + 0x1c) + 0x1c);
    uVar11 = *puVar1;
    local_9c[3] = (local_34._4_4_ - *(int *)(*(int *)(param_2 + 0x1c) + 0x20)) -
                  (uint)((uint)local_34 < *puVar1);
    local_9c[2] = (uint)local_34 - uVar11;
    break;
  case 0xd:
    goto code_r0x00022351;
  case 0xf:
code_r0x00022351:
    lVar34 = MASKED(lVar34,param_5,param_6);
    break;
  default:
    FUN_00032bf0("../../ld/ldlang.c",0x15a7);
    lVar34 = local_34;
  }
LAB_00022010:
  piVar25 = (int *)*local_9c;
  param_1 = local_9c;
  goto joined_r0x00021fcf;
code_r0x0002200c:
  goto LAB_00022010;
}

