
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_allocate_commons_list<32>(Symbol_table * this, Layout * layout,
   Commons_section_type commons_section_type, Commons_type * commons, Mapfile * mapfile,
   Sort_commons_order sort_order) */

void __thiscall
gold::Symbol_table::do_allocate_commons_list<32>
          (Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,
          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)

{
  undefined1 *puVar1;
  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>
  __first;
  Target_info *pTVar2;
  long lVar3;
  bool bVar4;
  undefined1 uVar5;
  bool bVar6;
  Layout *this_00;
  ulong uVar7;
  pointer ppSVar8;
  Output_section *posd;
  Sized_symbol<32> *pSVar9;
  ulong addralign;
  pointer ppSVar10;
  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>
  __last;
  Layout *from;
  Layout *sym;
  Got_offset_list *pGVar11;
  Symbol_table *this_01;
  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>
  __last_00;
  char *pcVar12;
  char *pcVar13;
  pointer ppSVar14;
  _Val_comp_iter<gold::Sort_commons<32>_> __comp;
  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_00;
  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;
  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;
  Output_section *local_78;
  ulong uStack_48;
  
  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
             _M_start;
  if (ppSVar14 ==
      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish
     ) {
    return;
  }
  pGVar11 = (Got_offset_list *)0x0;
  sym = layout;
  bVar6 = false;
  do {
    while( true ) {
      ppSVar10 = ppSVar14;
      from = (Layout *)*ppSVar10;
      this_00 = from;
      if ((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {
        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);
        *ppSVar10 = (Symbol *)this_00;
        sym = from;
      }
      if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)
          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)
              == 0)) &&
         (bVar4 = Symbol::is_common_shndx
                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))
      break;
      *ppSVar10 = (Symbol *)0x0;
      ppSVar14 = ppSVar10 + 1;
      bVar4 = bVar6;
      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
          _M_finish == ppSVar10 + 1) goto LAB_00262138;
    }
    pSVar9 = get_sized_symbol<32>((Symbol_table *)this_00,(Symbol *)sym);
    if (pGVar11 < (Got_offset_list *)(ulong)pSVar9->value_) {
      pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_;
    }
    ppSVar14 = ppSVar10 + 1;
    bVar6 = bVar4;
  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
           _M_finish != ppSVar10 + 1);
LAB_00262138:
  __last_00._M_current = ppSVar10 + 1;
  if (bVar4 == false) {
    return;
  }
  __first._M_current =
       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start
  ;
  if (__last_00._M_current == __first._M_current) {
LAB_0026221c:
    if (commons_section_type != COMMONS_TLS) goto LAB_00262229;
LAB_00262453:
    pcVar13 = "** tls common";
    pcVar12 = ".tbss";
    uVar7 = 0x403;
  }
  else {
    uVar7 = (long)__last_00._M_current - (long)__first._M_current >> 3;
    lVar3 = 0x3f;
    if (uVar7 != 0) {
      for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {
      }
    }
    __comp_00._M_comp.sort_order_ = sort_order;
    __comp_00._M_comp.symtab_ = this;
    __comp_00._M_comp._12_4_ = 0;
    std::
    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>
              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00);
    if (0x80 < (long)__last_00._M_current - (long)__first._M_current) {
      __last._M_current = __first._M_current + 0x10;
      __comp_01._M_comp.sort_order_ = sort_order;
      __comp_01._M_comp.symtab_ = this;
      __comp_01._M_comp._12_4_ = 0;
      std::
      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>
                (__first,__last,__comp_01);
      for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {
        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;
        __comp._M_comp._8_8_ = uStack_48;
        __comp._M_comp.symtab_ = this;
        std::
        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>
                  (__last,__comp);
      }
      goto LAB_0026221c;
    }
    __comp_02._M_comp.sort_order_ = sort_order;
    __comp_02._M_comp.symtab_ = this;
    __comp_02._M_comp._12_4_ = 0;
    std::
    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>
              (__first,__last_00,__comp_02);
    if (commons_section_type == COMMONS_TLS) goto LAB_00262453;
LAB_00262229:
    if (commons_section_type == COMMONS_NORMAL) {
      pcVar13 = "** common";
      pcVar12 = &DAT_0033f44c;
      uVar7 = 3;
    }
    else {
      if (commons_section_type == COMMONS_SMALL) {
        if (parameters->target_ == (Target *)0x0) {
LAB_00262560:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/parameters.h",0x69,"target");
        }
        pTVar2 = parameters->target_->pti_;
        if (pTVar2->small_common_shndx == 0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");
        }
        pcVar13 = "** small common";
        pcVar12 = ".sbss";
        uVar7 = pTVar2->small_common_section_flags | 3;
        uVar5 = Parameters::incremental_update(parameters);
        goto joined_r0x00262324;
      }
      if (commons_section_type != COMMONS_LARGE) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");
      }
      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;
      pTVar2 = parameters->target_->pti_;
      if (pTVar2->large_common_shndx == 0) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");
      }
      pcVar13 = "** large common";
      pcVar12 = ".lbss";
      uVar7 = pTVar2->large_common_section_flags | 3;
    }
  }
  uVar5 = Parameters::incremental_update(parameters);
joined_r0x00262324:
  if ((bool)uVar5) {
    posd = (Output_section *)0x0;
    local_78 = Layout::find_output_section(layout,pcVar12);
  }
  else {
    posd = (Output_section *)operator_new(0x40);
    puVar1 = &(posd->super_Output_data).field_0x20;
    *puVar1 = *puVar1 & 0xe0;
    (posd->super_Output_data).address_ = 0;
    (posd->super_Output_data).data_size_ = 0;
    (posd->super_Output_data).offset_ = -1;
    *(Output_section **)&posd->name_ = (Output_section *)0x0;
    posd->addralign_ = (uint64_t)pGVar11;
    (posd->super_Output_data)._vptr_Output_data =
         (_func_int_varargs **)&PTR__Output_data_space_003ec600;
    posd->entsize_ = (uint64_t)pcVar13;
    local_78 = Layout::add_output_section_data
                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false);
  }
  if (local_78 != (Output_section *)0x0) {
    if (commons_section_type == COMMONS_SMALL) {
      local_78->field_0xc9 = local_78->field_0xc9 | 0x40;
    }
    else if (commons_section_type == COMMONS_LARGE) {
      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;
    }
  }
  ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
             _M_finish;
  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
             _M_start;
  if ((ppSVar14 == ppSVar10) ||
     (this_01 = (Symbol_table *)*ppSVar14, this_01 == (Symbol_table *)0x0)) {
    uVar7 = 0;
    ppSVar8 = ppSVar10;
  }
  else {
    uVar7 = 0;
    do {
      ppSVar14 = ppSVar14 + 1;
      if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&
         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {
        bVar6 = Symbol::is_common_shndx(this_01->output_count_);
        if (bVar6) {
          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);
          if (mapfile != (Mapfile *)0x0) {
            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);
          }
          addralign = (ulong)pSVar9->value_;
          if (posd != (Output_section *)0x0) {
            if (addralign != 0) {
              uVar7 = uVar7 + (addralign - 1) & -addralign;
            }
            pcVar12 = (char *)posd;
            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);
            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                       _M_impl._M_finish;
            uVar7 = uVar7 + pSVar9->symsize_;
            goto LAB_002623f0;
          }
          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);
          if (uVar7 == 0xffffffffffffffff) {
            pcVar12 = local_78->name_;
            pcVar13 = (char *)gettext(
                                     "out of patch space in section %s; relink with --incremental-full"
                                     );
                    /* WARNING: Subroutine does not return */
            gold_fallback(pcVar13,pcVar12);
          }
          pcVar12 = (char *)local_78;
          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);
        }
        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                   _M_impl._M_finish;
      }
LAB_002623f0:
      ppSVar8 = ppSVar14;
    } while ((ppSVar10 != ppSVar14) &&
            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0
            ));
  }
  if (posd != (Output_section *)0x0) {
    if (((posd->super_Output_data).field_0x20 & 2) != 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    (posd->super_Output_data).data_size_ = uVar7;
  }
  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
             _M_start;
  if (ppSVar14 != ppSVar8) {
    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =
         ppSVar14;
  }
  return;
}



void FUN_00262080(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,
                 uint param_6)

{
  undefined8 uVar1;
  char cVar2;
  char cVar3;
  long lVar4;
  ulong uVar5;
  ulong uVar6;
  long *plVar7;
  undefined8 *puVar8;
  long lVar9;
  undefined8 uVar10;
  long *plVar11;
  ulong uVar12;
  char *pcVar13;
  char *pcVar14;
  long *plVar15;
  long local_78;
  ulong uStack_48;
  
  if ((long *)*param_4 == (long *)param_4[1]) {
    return;
  }
  uVar12 = 0;
  plVar15 = (long *)*param_4;
  cVar3 = '\0';
  do {
    while( true ) {
      plVar11 = plVar15;
      lVar4 = *plVar11;
      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {
        lVar4 = FUN_0024aed0(param_1,lVar4);
        *plVar11 = lVar4;
      }
      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&
         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;
      *plVar11 = 0;
      plVar15 = plVar11 + 1;
      cVar2 = cVar3;
      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;
    }
    lVar4 = FUN_00261690(lVar4);
    if (uVar12 < *(uint *)(lVar4 + 0x40)) {
      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);
    }
    plVar15 = plVar11 + 1;
    cVar3 = cVar2;
  } while ((long *)param_4[1] != plVar11 + 1);
LAB_00262138:
  plVar11 = plVar11 + 1;
  if (cVar2 == '\0') {
    return;
  }
  uVar6 = (ulong)param_6;
  plVar15 = (long *)*param_4;
  if (plVar11 == plVar15) {
LAB_0026221c:
    if (param_3 != 1) goto LAB_00262229;
LAB_00262453:
    pcVar14 = "** tls common";
    pcVar13 = ".tbss";
    uVar6 = 0x403;
  }
  else {
    uVar5 = (long)plVar11 - (long)plVar15 >> 3;
    lVar4 = 0x3f;
    if (uVar5 != 0) {
      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {
      }
    }
    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);
    if (0x80 < (long)plVar11 - (long)plVar15) {
      plVar7 = plVar15 + 0x10;
      FUN_00261990(plVar15,plVar7,param_1,uVar6);
      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {
        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;
        FUN_00261940(plVar7,param_1,uStack_48);
      }
      goto LAB_0026221c;
    }
    FUN_00261990(plVar15,plVar11,param_1,uVar6);
    if (param_3 == 1) goto LAB_00262453;
LAB_00262229:
    if (param_3 == 0) {
      pcVar14 = "** common";
      pcVar13 = ".bss";
      uVar6 = 3;
    }
    else {
      if (param_3 == 2) {
        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {
LAB_00262560:
                    /* WARNING: Subroutine does not return */
          FUN_00199900("../../gold/parameters.h",0x69,"target");
        }
        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);
        if (*(short *)(lVar4 + 0x48) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");
        }
        pcVar14 = "** small common";
        pcVar13 = ".sbss";
        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;
        cVar3 = FUN_0021a540();
        goto joined_r0x00262324;
      }
      if (param_3 != 3) {
                    /* WARNING: Subroutine does not return */
        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");
      }
      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;
      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);
      if (*(short *)(lVar4 + 0x4a) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");
      }
      pcVar14 = "** large common";
      pcVar13 = ".lbss";
      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;
    }
  }
  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);
joined_r0x00262324:
  if (cVar3 == '\0') {
    puVar8 = (undefined8 *)FUN_002a11b0(0x40);
    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;
    puVar8[1] = 0;
    puVar8[2] = 0;
    puVar8[3] = 0xffffffffffffffff;
    puVar8[5] = 0;
    puVar8[6] = uVar12;
    *puVar8 = &PTR_FUN_003ec600;
    puVar8[7] = pcVar14;
    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);
  }
  else {
    puVar8 = (undefined8 *)0x0;
    local_78 = FUN_001b3d50(param_2,pcVar13);
  }
  if (local_78 != 0) {
    if (param_3 == 2) {
      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;
    }
    else if (param_3 == 3) {
      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;
    }
  }
  plVar11 = (long *)param_4[1];
  plVar15 = (long *)*param_4;
  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {
    uVar12 = 0;
    plVar7 = plVar11;
  }
  else {
    uVar12 = 0;
    do {
      plVar15 = plVar15 + 1;
      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {
        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));
        if (cVar3 != '\0') {
          lVar9 = FUN_00261690(lVar4);
          if (param_5 != 0) {
            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));
          }
          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);
          if (puVar8 != (undefined8 *)0x0) {
            if (uVar6 != 0) {
              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;
            }
            FUN_0024dec0(lVar9,puVar8,uVar12);
            plVar11 = (long *)param_4[1];
            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);
            goto LAB_002623f0;
          }
          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);
          if (uVar12 == 0xffffffffffffffff) {
            uVar1 = *(undefined8 *)(local_78 + 0x28);
            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");
            FUN_001917d0(uVar10,uVar1);
            goto LAB_002625b1;
          }
          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);
        }
        plVar11 = (long *)param_4[1];
      }
LAB_002623f0:
      plVar7 = plVar15;
    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));
  }
  if (puVar8 != (undefined8 *)0x0) {
    if ((*(byte *)(puVar8 + 4) & 2) != 0) {
LAB_002625b1:
                    /* WARNING: Subroutine does not return */
      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    puVar8[2] = uVar12;
  }
  if ((long *)*param_4 != plVar7) {
    param_4[1] = *param_4;
  }
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x48
MOV R13,qword ptr [RCX]
MOV qword ptr [RSP + 0x20],RSI
MOV dword ptr [RSP + 0x14],EDX
MOV qword ptr [RSP + 0x8],R8
MOV dword ptr [RSP + 0x18],R9D
CMP R13,qword ptr [RCX + 0x8]
JZ 0x002622c2
MOV RBP,RDI
MOV RBX,RCX
XOR R12D,R12D
XOR R14D,R14D
JMP 0x002620e0
TEST byte ptr [R15 + 0x3a],0x7
JNZ 0x002620ce
TEST byte ptr [R15 + 0x3b],0x20
JZ 0x00262100
MOV qword ptr [R13],0x0
ADD R13,0x8
CMP qword ptr [RBX + 0x8],R13
JZ 0x00262138
MOV R15,qword ptr [R13]
TEST byte ptr [R15 + 0x3a],0x10
JZ 0x002620c0
MOV RSI,R15
MOV RDI,RBP
CALL 0x0024aed0
MOV R15,RAX
MOV qword ptr [R13],RAX
JMP 0x002620c0
MOV EDI,dword ptr [R15 + 0x18]
CALL 0x0024aae0
TEST AL,AL
MOV byte ptr [RSP],AL
JZ 0x002620ce
MOV RDI,R15
CALL 0x00261690
MOVZX EDX,byte ptr [RSP]
MOV EAX,dword ptr [RAX + 0x40]
MOV R14D,EDX
CMP R12,RAX
CMOVC R12,RAX
ADD R13,0x8
CMP qword ptr [RBX + 0x8],R13
JNZ 0x002620e0
NOP dword ptr [RAX + RAX*0x1]
TEST R14B,R14B
JZ 0x002622c2
MOV R15D,dword ptr [RSP + 0x18]
MOV R10,qword ptr [RBX]
MOV R8,R15
CMP R13,R10
JZ 0x0026221c
MOV R14,R13
MOV EDX,0x3f
MOV RCX,RBP
MOV RDI,R10
SUB R14,R10
MOV RSI,R13
MOV qword ptr [RSP],R10
MOV RAX,R14
SAR RAX,0x3
BSR RAX,RAX
XOR RAX,0x3f
CDQE
SUB RDX,RAX
ADD RDX,RDX
CALL 0x00261dc0
CMP R14,0x80
MOV RCX,R15
MOV R10,qword ptr [RSP]
JLE 0x00262438
LEA R14,[R10 + 0x80]
MOV RDX,RBP
MOV RDI,R10
MOV RSI,R14
CALL 0x00261990
MOV RAX,-0x100000000
CMP R13,R14
JZ 0x0026221c
MOV qword ptr [RSP + 0x18],R12
MOV R12,qword ptr [RSP + 0x38]
MOV qword ptr [RSP],R13
MOV R13,qword ptr [RSP + 0x30]
MOV qword ptr [RSP + 0x28],RBX
MOV RBX,R14
MOV R14,RBP
MOV RBP,RAX
NOP word ptr [RAX + RAX*0x1]
MOV RAX,R13
MOV RDI,RBX
AND R12,RBP
MOV RSI,R14
AND RAX,RBP
OR R12,R15
ADD RBX,0x8
OR RAX,R15
MOV RDX,RAX
MOV R13,RAX
CALL 0x00261940
CMP qword ptr [RSP],RBX
JNZ 0x002621e8
MOV R12,qword ptr [RSP + 0x18]
MOV RBX,qword ptr [RSP + 0x28]
MOV EAX,dword ptr [RSP + 0x14]
CMP EAX,0x1
JZ 0x00262453
TEST EAX,EAX
JZ 0x00262510
CMP EAX,0x2
JNZ 0x002622d8
MOV RDI,qword ptr [0x003f85c0]
MOV RAX,qword ptr [RDI + 0x18]
TEST RAX,RAX
JZ 0x00262560
MOV RAX,qword ptr [RAX + 0x8]
CMP word ptr [RAX + 0x48],0x0
JZ 0x002625c9
MOV RAX,qword ptr [RAX + 0x50]
LEA R15,[0x354e1c]
LEA R14,[0x3429d1]
OR RAX,0x3
MOV R13,RAX
CALL 0x0021a540
TEST AL,AL
JZ 0x0026232a
MOV RDI,qword ptr [RSP + 0x20]
MOV RSI,R14
XOR EBP,EBP
CALL 0x001b3d50
MOV qword ptr [RSP],RAX
JMP 0x00262396
MOV RAX,RDX
TEST RBP,RBP
JZ 0x002622b6
TEST byte ptr [RBP + 0x20],0x2
JNZ 0x002625b1
MOV qword ptr [RBP + 0x10],R14
MOV RDX,qword ptr [RBX]
CMP RDX,RAX
JZ 0x002622c2
MOV qword ptr [RBX + 0x8],RDX
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CMP EAX,0x3
JNZ 0x00262578
MOV RDI,qword ptr [0x003f85c0]
MOV RAX,qword ptr [RDI + 0x18]
TEST RAX,RAX
JZ 0x00262560
MOV RAX,qword ptr [RAX + 0x8]
CMP word ptr [RAX + 0x4a],0x0
JZ 0x00262548
MOV RAX,qword ptr [RAX + 0x58]
LEA R15,[0x354e02]
LEA R14,[0x342a11]
OR RAX,0x3
MOV R13,RAX
CALL 0x0021a540
TEST AL,AL
JNZ 0x00262283
MOV EDI,0x40
CALL 0x002a11b0
SUB RSP,0x8
XOR R9D,R9D
MOV RCX,R13
AND byte ptr [RAX + 0x20],0xe0
MOV RBP,RAX
MOV EDX,0x8
MOV RSI,R14
MOV qword ptr [RAX + 0x8],0x0
MOV R8,RBP
MOV qword ptr [RAX + 0x10],0x0
MOV qword ptr [RAX + 0x18],-0x1
MOV qword ptr [RAX + 0x28],0x0
MOV qword ptr [RAX + 0x30],R12
LEA RAX,[0x3ec600]
MOV qword ptr [RBP],RAX
MOV qword ptr [RBP + 0x38],R15
PUSH 0x0
MOV RDI,qword ptr [RSP + 0x30]
CALL 0x001bc730
MOV qword ptr [RSP + 0x10],RAX
POP RAX
POP RDX
CMP qword ptr [RSP],0x0
JZ 0x002623c0
CMP dword ptr [RSP + 0x14],0x2
JZ 0x00262530
CMP dword ptr [RSP + 0x14],0x3
JNZ 0x002623c0
MOV RAX,qword ptr [RSP]
OR byte ptr [RAX + 0xc9],0x80
NOP word ptr [RAX + RAX*0x1]
MOV RDX,qword ptr [RBX + 0x8]
MOV R15,qword ptr [RBX]
MOV RAX,RDX
CMP R15,RDX
JZ 0x00262540
MOV R12,qword ptr [R15]
TEST R12,R12
JZ 0x00262540
ADD R15,0x8
XOR R14D,R14D
JMP 0x0026240d
MOV RAX,R15
CMP RDX,R15
JZ 0x002622a3
LEA R15,[RAX + 0x8]
MOV R12,qword ptr [R15 + -0x8]
TEST R12,R12
JZ 0x002622a0
TEST byte ptr [R12 + 0x3a],0x7
JNZ 0x002623f0
TEST byte ptr [R12 + 0x3b],0x20
JNZ 0x002623f0
MOV EDI,dword ptr [R12 + 0x18]
CALL 0x0024aae0
TEST AL,AL
JNZ 0x00262478
MOV RDX,qword ptr [RBX + 0x8]
JMP 0x002623f0
MOV RDX,RBP
MOV RSI,R13
MOV RDI,R10
CALL 0x00261990
MOV EAX,dword ptr [RSP + 0x14]
CMP EAX,0x1
JNZ 0x00262229
MOV RDI,qword ptr [0x003f85c0]
LEA R15,[0x354e2c]
LEA R14,[0x3429b5]
MOV R13D,0x403
JMP 0x0026231d
MOV RDI,R12
CALL 0x00261690
MOV RDI,qword ptr [RSP + 0x8]
MOV R13,RAX
TEST RDI,RDI
JZ 0x00262498
MOV EDX,dword ptr [RAX + 0x44]
MOV RSI,R12
CALL 0x001c6b10
MOV EAX,dword ptr [R13 + 0x40]
TEST RBP,RBP
JZ 0x002624d8
MOV RDX,R14
TEST RAX,RAX
JZ 0x002624b7
LEA RDX,[R14 + RAX*0x1 + -0x1]
NEG RAX
AND RDX,RAX
MOV R14,RDX
MOV RSI,RBP
MOV RDI,R13
CALL 0x0024dec0
MOV EAX,dword ptr [R13 + 0x44]
MOV RDX,qword ptr [RBX + 0x8]
ADD R14,RAX
JMP 0x002623f0
MOV ESI,dword ptr [R13 + 0x44]
MOV RDI,qword ptr [RSP]
MOV RDX,RAX
CALL 0x001eff80
MOV R14,RAX
CMP RAX,-0x1
JZ 0x00262590
MOV RSI,qword ptr [RSP]
MOV EDX,EAX
MOV RDI,R13
CALL 0x0024dec0
JMP 0x0026242b
MOV RDI,qword ptr [0x003f85c0]
LEA R15,[0x354e12]
LEA R14,[0x33f44c]
MOV R13D,0x3
JMP 0x0026231d
MOV RAX,qword ptr [RSP]
OR byte ptr [RAX + 0xc9],0x40
JMP 0x002623c0
XOR R14D,R14D
JMP 0x002622a3
LEA RDX,[0x355010]
MOV ESI,0xd5
LEA RDI,[0x338398]
CALL 0x00199900
LEA RDX,[0x354ee9]
MOV ESI,0x69
LEA RDI,[0x333279]
CALL 0x00199900
LEA RDX,[0x355080]
MOV ESI,0x11b
LEA RDI,[0x354ded]
CALL 0x00199900
MOV RAX,qword ptr [RSP]
LEA RDI,[0x34a888]
MOV RBX,qword ptr [RAX + 0x28]
CALL 0x00144320
MOV RDI,RAX
MOV RSI,RBX
XOR EAX,EAX
CALL 0x001917d0
LEA RDX,[0x354f00]
MOV ESI,0x231
LEA RDI,[0x338384]
CALL 0x00199900
LEA RDX,[0x355030]
MOV ESI,0xc5
LEA RDI,[0x338398]
CALL 0x00199900
(translation_unit "void FUN_00262080(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  char cVar3;\n  long lVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long *plVar7;\n  undefined8 *puVar8;\n  long lVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  ulong uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long *plVar15;\n  long local_78;\n  ulong uStack_48;\n  \n  if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }\n  uVar12 = 0;\n  plVar15 = (long *)*param_4;\n  cVar3 = '\0';\n  do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);\nLAB_00262138:\n  plVar11 = plVar11 + 1;\n  if (cVar2 == '\0') {\n    return;\n  }\n  uVar6 = (ulong)param_6;\n  plVar15 = (long *)*param_4;\n  if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }\n  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);\njoined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }\n  if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }\n  plVar11 = (long *)param_4[1];\n  plVar15 = (long *)*param_4;\n  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }\n  if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }\n  if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00262080(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  char cVar3;\n  long lVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long *plVar7;\n  undefined8 *puVar8;\n  long lVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  ulong uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long *plVar15;\n  long local_78;\n  ulong uStack_48;\n  \n  if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }\n  uVar12 = 0;\n  plVar15 = (long *)*param_4;\n  cVar3 = '\0';\n  do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);\nLAB_00262138:\n  plVar11 = plVar11 + 1;\n  if (cVar2 == '\0') {\n    return;\n  }\n  uVar6 = (ulong)param_6;\n  plVar15 = (long *)*param_4;\n  if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }\n  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);\njoined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }\n  if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }\n  plVar11 = (long *)param_4[1];\n  plVar15 = (long *)*param_4;\n  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }\n  if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }\n  if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00262080(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "long *param_4" (sized_type_specifier "long" long) (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  char cVar2;\n  char cVar3;\n  long lVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long *plVar7;\n  undefined8 *puVar8;\n  long lVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  ulong uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long *plVar15;\n  long local_78;\n  ulong uStack_48;\n  \n  if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }\n  uVar12 = 0;\n  plVar15 = (long *)*param_4;\n  cVar3 = '\0';\n  do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);\nLAB_00262138:\n  plVar11 = plVar11 + 1;\n  if (cVar2 == '\0') {\n    return;\n  }\n  uVar6 = (ulong)param_6;\n  plVar15 = (long *)*param_4;\n  if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }\n  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);\njoined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }\n  if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }\n  plVar11 = (long *)param_4[1];\n  plVar15 = (long *)*param_4;\n  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }\n  if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }\n  if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "long *plVar7;" (sized_type_specifier "long" long) (pointer_declarator "*plVar7" * identifier) ;) (declaration "undefined8 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "long *plVar11;" (sized_type_specifier "long" long) (pointer_declarator "*plVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "long *plVar15;" (sized_type_specifier "long" long) (pointer_declarator "*plVar15" * identifier) ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uStack_48;" type_identifier identifier ;) (if_statement "if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }" if (parenthesized_expression "((long *)*param_4 == (long *)param_4[1])" ( (binary_expression "(long *)*param_4 == (long *)param_4[1]" (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier)) == (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "plVar15 = (long *)*param_4;" (assignment_expression "plVar15 = (long *)*param_4" identifier = (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (do_statement "do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);" do (compound_statement "{\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  }" { (while_statement "while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }" { (expression_statement "plVar11 = plVar15;" (assignment_expression "plVar11 = plVar15" identifier = identifier) ;) (expression_statement "lVar4 = *plVar11;" (assignment_expression "lVar4 = *plVar11" identifier = (pointer_expression "*plVar11" * identifier)) ;) (if_statement "if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }" if (parenthesized_expression "((*(byte *)(lVar4 + 0x3a) & 0x10) != 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3a) & 0x10)" ( (binary_expression "*(byte *)(lVar4 + 0x3a) & 0x10" (pointer_expression "*(byte *)(lVar4 + 0x3a)" * (cast_expression "(byte *)(lVar4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3a)" ( (binary_expression "lVar4 + 0x3a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }" { (expression_statement "lVar4 = FUN_0024aed0(param_1,lVar4);" (assignment_expression "lVar4 = FUN_0024aed0(param_1,lVar4)" identifier = (call_expression "FUN_0024aed0(param_1,lVar4)" identifier (argument_list "(param_1,lVar4)" ( identifier , identifier )))) ;) (expression_statement "*plVar11 = lVar4;" (assignment_expression "*plVar11 = lVar4" (pointer_expression "*plVar11" * identifier) = identifier) ;) })) (if_statement "if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;" if (parenthesized_expression "((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0'))" ( (binary_expression "(((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')" (parenthesized_expression "(((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0))" ( (binary_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar4 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar4 + 0x3a)" * (cast_expression "(byte *)(lVar4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3a)" ( (binary_expression "lVar4 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar4 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar4 + 0x3b)" * (cast_expression "(byte *)(lVar4 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3b)" ( (binary_expression "lVar4 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')" ( (comma_expression "cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0'" (assignment_expression "cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" identifier = (call_expression "FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" identifier (argument_list "(*(undefined4 *)(lVar4 + 0x18))" ( (pointer_expression "*(undefined4 *)(lVar4 + 0x18)" * (cast_expression "(undefined4 *)(lVar4 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x18)" ( (binary_expression "lVar4 + 0x18" identifier + number_literal) )))) )))) , (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (break_statement "break;" break ;)) (expression_statement "*plVar11 = 0;" (assignment_expression "*plVar11 = 0" (pointer_expression "*plVar11" * identifier) = number_literal) ;) (expression_statement "plVar15 = plVar11 + 1;" (assignment_expression "plVar15 = plVar11 + 1" identifier = (binary_expression "plVar11 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = cVar3;" (assignment_expression "cVar2 = cVar3" identifier = identifier) ;) (if_statement "if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;" if (parenthesized_expression "((long *)param_4[1] == plVar11 + 1)" ( (binary_expression "(long *)param_4[1] == plVar11 + 1" (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) == (binary_expression "plVar11 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_00262138;" goto statement_identifier ;)) })) (expression_statement "lVar4 = FUN_00261690(lVar4);" (assignment_expression "lVar4 = FUN_00261690(lVar4)" identifier = (call_expression "FUN_00261690(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) (if_statement "if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }" if (parenthesized_expression "(uVar12 < *(uint *)(lVar4 + 0x40))" ( (binary_expression "uVar12 < *(uint *)(lVar4 + 0x40)" identifier < (pointer_expression "*(uint *)(lVar4 + 0x40)" * (cast_expression "(uint *)(lVar4 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x40)" ( (binary_expression "lVar4 + 0x40" identifier + number_literal) ))))) )) (compound_statement "{\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }" { (expression_statement "uVar12 = (ulong)*(uint *)(lVar4 + 0x40);" (assignment_expression "uVar12 = (ulong)*(uint *)(lVar4 + 0x40)" identifier = (binary_expression "(ulong)*(uint *)(lVar4 + 0x40)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar4 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x40)" ( (binary_expression "lVar4 + 0x40" identifier + number_literal) ))))) ;) })) (expression_statement "plVar15 = plVar11 + 1;" (assignment_expression "plVar15 = plVar11 + 1" identifier = (binary_expression "plVar11 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = cVar2;" (assignment_expression "cVar3 = cVar2" identifier = identifier) ;) }) while (parenthesized_expression "((long *)param_4[1] != plVar11 + 1)" ( (binary_expression "(long *)param_4[1] != plVar11 + 1" (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) != (binary_expression "plVar11 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_00262138:\n  plVar11 = plVar11 + 1;" statement_identifier : (expression_statement "plVar11 = plVar11 + 1;" (assignment_expression "plVar11 = plVar11 + 1" identifier = (binary_expression "plVar11 + 1" identifier + number_literal)) ;)) (if_statement "if (cVar2 == '\0') {\n    return;\n  }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar6 = (ulong)param_6;" (assignment_expression "uVar6 = (ulong)param_6" identifier = (cast_expression "(ulong)param_6" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "plVar15 = (long *)*param_4;" (assignment_expression "plVar15 = (long *)*param_4" identifier = (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (if_statement "if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }" if (parenthesized_expression "(plVar11 == plVar15)" ( (binary_expression "plVar11 == plVar15" identifier == identifier) )) (compound_statement "{\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }" { (labeled_statement "LAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;" statement_identifier : (if_statement "if (param_3 != 1) goto LAB_00262229;" if (parenthesized_expression "(param_3 != 1)" ( (binary_expression "param_3 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00262229;" goto statement_identifier ;))) (labeled_statement "LAB_00262453:\n    pcVar14 = "** tls common";" statement_identifier : (expression_statement "pcVar14 = "** tls common";" (assignment_expression "pcVar14 = "** tls common"" identifier = (string_literal ""** tls common"" " string_content ")) ;)) (expression_statement "pcVar13 = ".tbss";" (assignment_expression "pcVar13 = ".tbss"" identifier = (string_literal "".tbss"" " string_content ")) ;) (expression_statement "uVar6 = 0x403;" (assignment_expression "uVar6 = 0x403" identifier = number_literal) ;) }) (else_clause "else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }" else (compound_statement "{\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }" { (expression_statement "uVar5 = (long)plVar11 - (long)plVar15 >> 3;" (assignment_expression "uVar5 = (long)plVar11 - (long)plVar15 >> 3" identifier = (binary_expression "(long)plVar11 - (long)plVar15 >> 3" (binary_expression "(long)plVar11 - (long)plVar15" (cast_expression "(long)plVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)plVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal)) ;) (expression_statement "lVar4 = 0x3f;" (assignment_expression "lVar4 = 0x3f" identifier = number_literal) ;) (if_statement "if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }" { (for_statement "for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }" for ( ; (binary_expression "uVar5 >> lVar4 == 0" (binary_expression "uVar5 >> lVar4" identifier >> identifier) == number_literal) ; (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ) (compound_statement "{\n      }" { })) })) (expression_statement "FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);" (call_expression "FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6)" identifier (argument_list "(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6)" ( identifier , identifier , (binary_expression "(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2" (parenthesized_expression "(0x3f - (long)(int)((uint)lVar4 ^ 0x3f))" ( (binary_expression "0x3f - (long)(int)((uint)lVar4 ^ 0x3f)" number_literal - (cast_expression "(long)(int)((uint)lVar4 ^ 0x3f)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)((uint)lVar4 ^ 0x3f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)lVar4 ^ 0x3f)" ( (binary_expression "(uint)lVar4 ^ 0x3f" (cast_expression "(uint)lVar4" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) ))))) )) * number_literal) , identifier , identifier ))) ;) (if_statement "if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }" if (parenthesized_expression "(0x80 < (long)plVar11 - (long)plVar15)" ( (binary_expression "0x80 < (long)plVar11 - (long)plVar15" number_literal < (binary_expression "(long)plVar11 - (long)plVar15" (cast_expression "(long)plVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)plVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )) (compound_statement "{\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }" { (expression_statement "plVar7 = plVar15 + 0x10;" (assignment_expression "plVar7 = plVar15 + 0x10" identifier = (binary_expression "plVar15 + 0x10" identifier + number_literal)) ;) (expression_statement "FUN_00261990(plVar15,plVar7,param_1,uVar6);" (call_expression "FUN_00261990(plVar15,plVar7,param_1,uVar6)" identifier (argument_list "(plVar15,plVar7,param_1,uVar6)" ( identifier , identifier , identifier , identifier ))) ;) (for_statement "for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }" for ( ; (binary_expression "plVar11 != plVar7" identifier != identifier) ; (assignment_expression "plVar7 = plVar7 + 1" identifier = (binary_expression "plVar7 + 1" identifier + number_literal)) ) (compound_statement "{\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }" { (expression_statement "uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;" (assignment_expression "uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6" identifier = (binary_expression "uStack_48 & 0xffffffff00000000 | uVar6" (binary_expression "uStack_48 & 0xffffffff00000000" identifier & number_literal) | identifier)) ;) (expression_statement "FUN_00261940(plVar7,param_1,uStack_48);" (call_expression "FUN_00261940(plVar7,param_1,uStack_48)" identifier (argument_list "(plVar7,param_1,uStack_48)" ( identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_0026221c;" goto statement_identifier ;) })) (expression_statement "FUN_00261990(plVar15,plVar11,param_1,uVar6);" (call_expression "FUN_00261990(plVar15,plVar11,param_1,uVar6)" identifier (argument_list "(plVar15,plVar11,param_1,uVar6)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (param_3 == 1) goto LAB_00262453;" if (parenthesized_expression "(param_3 == 1)" ( (binary_expression "param_3 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00262453;" goto statement_identifier ;)) (labeled_statement "LAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" statement_identifier : (if_statement "if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }" { (expression_statement "pcVar14 = "** common";" (assignment_expression "pcVar14 = "** common"" identifier = (string_literal ""** common"" " string_content ")) ;) (expression_statement "pcVar13 = ".bss";" (assignment_expression "pcVar13 = ".bss"" identifier = (string_literal "".bss"" " string_content ")) ;) (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" identifier = number_literal) ;) }) (else_clause "else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" else (compound_statement "{\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" { (if_statement "if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }" { (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" if (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" { (labeled_statement "LAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");" statement_identifier : comment (expression_statement "FUN_00199900("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;)) })) (expression_statement "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);" (assignment_expression "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" identifier = (pointer_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (*(short *)(lVar4 + 0x48) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }" if (parenthesized_expression "(*(short *)(lVar4 + 0x48) == 0)" ( (binary_expression "*(short *)(lVar4 + 0x48) == 0" (pointer_expression "*(short *)(lVar4 + 0x48)" * (cast_expression "(short *)(lVar4 + 0x48)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }" { comment (expression_statement "FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");" (call_expression "FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags")" identifier (argument_list "("../../gold/target.h",0xc5,"small_common_section_flags")" ( (string_literal ""../../gold/target.h"" " string_content ") , number_literal , (string_literal ""small_common_section_flags"" " string_content ") ))) ;) })) (expression_statement "pcVar14 = "** small common";" (assignment_expression "pcVar14 = "** small common"" identifier = (string_literal ""** small common"" " string_content ")) ;) (expression_statement "pcVar13 = ".sbss";" (assignment_expression "pcVar13 = ".sbss"" identifier = (string_literal "".sbss"" " string_content ")) ;) (expression_statement "uVar6 = *(ulong *)(lVar4 + 0x50) | 3;" (assignment_expression "uVar6 = *(ulong *)(lVar4 + 0x50) | 3" identifier = (binary_expression "*(ulong *)(lVar4 + 0x50) | 3" (pointer_expression "*(ulong *)(lVar4 + 0x50)" * (cast_expression "(ulong *)(lVar4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x50)" ( (binary_expression "lVar4 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "cVar3 = FUN_0021a540();" (assignment_expression "cVar3 = FUN_0021a540()" identifier = (call_expression "FUN_0021a540()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto joined_r0x00262324;" goto statement_identifier ;) })) (if_statement "if (param_3 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }" if (parenthesized_expression "(param_3 != 3)" ( (binary_expression "param_3 != 3" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }" { comment (expression_statement "FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");" (call_expression "FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list")" identifier (argument_list "("../../gold/common.cc",0x11b,"do_allocate_commons_list")" ( (string_literal ""../../gold/common.cc"" " string_content ") , number_literal , (string_literal ""do_allocate_commons_list"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;" if (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00262560;" goto statement_identifier ;)) (expression_statement "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);" (assignment_expression "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" identifier = (pointer_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (*(short *)(lVar4 + 0x4a) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }" if (parenthesized_expression "(*(short *)(lVar4 + 0x4a) == 0)" ( (binary_expression "*(short *)(lVar4 + 0x4a) == 0" (pointer_expression "*(short *)(lVar4 + 0x4a)" * (cast_expression "(short *)(lVar4 + 0x4a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x4a)" ( (binary_expression "lVar4 + 0x4a" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }" { comment (expression_statement "FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");" (call_expression "FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags")" identifier (argument_list "("../../gold/target.h",0xd5,"large_common_section_flags")" ( (string_literal ""../../gold/target.h"" " string_content ") , number_literal , (string_literal ""large_common_section_flags"" " string_content ") ))) ;) })) (expression_statement "pcVar14 = "** large common";" (assignment_expression "pcVar14 = "** large common"" identifier = (string_literal ""** large common"" " string_content ")) ;) (expression_statement "pcVar13 = ".lbss";" (assignment_expression "pcVar13 = ".lbss"" identifier = (string_literal "".lbss"" " string_content ")) ;) (expression_statement "uVar6 = *(ulong *)(lVar4 + 0x58) | 3;" (assignment_expression "uVar6 = *(ulong *)(lVar4 + 0x58) | 3" identifier = (binary_expression "*(ulong *)(lVar4 + 0x58) | 3" (pointer_expression "*(ulong *)(lVar4 + 0x58)" * (cast_expression "(ulong *)(lVar4 + 0x58)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x58)" ( (binary_expression "lVar4 + 0x58" identifier + number_literal) )))) | number_literal)) ;) })))) }))) (expression_statement "cVar3 = FUN_0021a540(PTR_DAT_003f85c0);" (assignment_expression "cVar3 = FUN_0021a540(PTR_DAT_003f85c0)" identifier = (call_expression "FUN_0021a540(PTR_DAT_003f85c0)" identifier (argument_list "(PTR_DAT_003f85c0)" ( identifier )))) ;) (labeled_statement "joined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" statement_identifier : (if_statement "if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }" { (expression_statement "puVar8 = (undefined8 *)FUN_002a11b0(0x40);" (assignment_expression "puVar8 = (undefined8 *)FUN_002a11b0(0x40)" identifier = (cast_expression "(undefined8 *)FUN_002a11b0(0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002a11b0(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "*(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;" (assignment_expression "*(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(puVar8 + 4)" * (cast_expression "(byte *)(puVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(puVar8 + 4)" * (cast_expression "(byte *)(puVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar8[1] = 0;" (assignment_expression "puVar8[1] = 0" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[2] = 0;" (assignment_expression "puVar8[2] = 0" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xffffffffffffffff;" (assignment_expression "puVar8[3] = 0xffffffffffffffff" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[5] = 0;" (assignment_expression "puVar8[5] = 0" (subscript_expression "puVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[6] = uVar12;" (assignment_expression "puVar8[6] = uVar12" (subscript_expression "puVar8[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar8 = &PTR_FUN_003ec600;" (assignment_expression "*puVar8 = &PTR_FUN_003ec600" (pointer_expression "*puVar8" * identifier) = (pointer_expression "&PTR_FUN_003ec600" & identifier)) ;) (expression_statement "puVar8[7] = pcVar14;" (assignment_expression "puVar8[7] = pcVar14" (subscript_expression "puVar8[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);" (assignment_expression "local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0)" identifier = (call_expression "FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0)" identifier (argument_list "(param_2,pcVar13,8,uVar6,puVar8,0,0)" ( identifier , identifier , number_literal , identifier , identifier , number_literal , number_literal )))) ;) }) (else_clause "else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" else (compound_statement "{\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" { (expression_statement "puVar8 = (undefined8 *)0x0;" (assignment_expression "puVar8 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = FUN_001b3d50(param_2,pcVar13);" (assignment_expression "local_78 = FUN_001b3d50(param_2,pcVar13)" identifier = (call_expression "FUN_001b3d50(param_2,pcVar13)" identifier (argument_list "(param_2,pcVar13)" ( identifier , identifier )))) ;) })))) (if_statement "if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }" if (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) )) (compound_statement "{\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }" { (if_statement "if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }" { (expression_statement "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;" (assignment_expression "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40" (pointer_expression "*(byte *)(local_78 + 0xc9)" * (cast_expression "(byte *)(local_78 + 0xc9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0xc9)" ( (binary_expression "local_78 + 0xc9" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_78 + 0xc9) | 0x40" (pointer_expression "*(byte *)(local_78 + 0xc9)" * (cast_expression "(byte *)(local_78 + 0xc9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0xc9)" ( (binary_expression "local_78 + 0xc9" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" else (if_statement "if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" if (parenthesized_expression "(param_3 == 3)" ( (binary_expression "param_3 == 3" identifier == number_literal) )) (compound_statement "{\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" { (expression_statement "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;" (assignment_expression "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80" (pointer_expression "*(byte *)(local_78 + 0xc9)" * (cast_expression "(byte *)(local_78 + 0xc9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0xc9)" ( (binary_expression "local_78 + 0xc9" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_78 + 0xc9) | 0x80" (pointer_expression "*(byte *)(local_78 + 0xc9)" * (cast_expression "(byte *)(local_78 + 0xc9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0xc9)" ( (binary_expression "local_78 + 0xc9" identifier + number_literal) )))) | number_literal)) ;) })))) })) (expression_statement "plVar11 = (long *)param_4[1];" (assignment_expression "plVar11 = (long *)param_4[1]" identifier = (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) (expression_statement "plVar15 = (long *)*param_4;" (assignment_expression "plVar15 = (long *)*param_4" identifier = (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (if_statement "if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }" if (parenthesized_expression "((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0))" ( (binary_expression "(plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)" (parenthesized_expression "(plVar15 == plVar11)" ( (binary_expression "plVar15 == plVar11" identifier == identifier) )) || (parenthesized_expression "(lVar4 = *plVar15, lVar4 == 0)" ( (comma_expression "lVar4 = *plVar15, lVar4 == 0" (assignment_expression "lVar4 = *plVar15" identifier = (pointer_expression "*plVar15" * identifier)) , (binary_expression "lVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "plVar7 = plVar11;" (assignment_expression "plVar7 = plVar11" identifier = identifier) ;) }) (else_clause "else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }" else (compound_statement "{\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));" do (compound_statement "{\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    }" { (expression_statement "plVar15 = plVar15 + 1;" (assignment_expression "plVar15 = plVar15 + 1" identifier = (binary_expression "plVar15 + 1" identifier + number_literal)) ;) (if_statement "if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }" if (parenthesized_expression "(((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0))" ( (binary_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar4 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar4 + 0x3a)" * (cast_expression "(byte *)(lVar4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3a)" ( (binary_expression "lVar4 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar4 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar4 + 0x3b)" * (cast_expression "(byte *)(lVar4 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3b)" ( (binary_expression "lVar4 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }" { (expression_statement "cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));" (assignment_expression "cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" identifier = (call_expression "FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" identifier (argument_list "(*(undefined4 *)(lVar4 + 0x18))" ( (pointer_expression "*(undefined4 *)(lVar4 + 0x18)" * (cast_expression "(undefined4 *)(lVar4 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x18)" ( (binary_expression "lVar4 + 0x18" identifier + number_literal) )))) )))) ;) (if_statement "if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }" { (expression_statement "lVar9 = FUN_00261690(lVar4);" (assignment_expression "lVar9 = FUN_00261690(lVar4)" identifier = (call_expression "FUN_00261690(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) (if_statement "if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }" { (expression_statement "FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));" (call_expression "FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44))" identifier (argument_list "(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(lVar9 + 0x44)" * (cast_expression "(undefined4 *)(lVar9 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x44)" ( (binary_expression "lVar9 + 0x44" identifier + number_literal) )))) ))) ;) })) (expression_statement "uVar6 = (ulong)*(uint *)(lVar9 + 0x40);" (assignment_expression "uVar6 = (ulong)*(uint *)(lVar9 + 0x40)" identifier = (binary_expression "(ulong)*(uint *)(lVar9 + 0x40)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar9 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x40)" ( (binary_expression "lVar9 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }" if (parenthesized_expression "(puVar8 != (undefined8 *)0x0)" ( (binary_expression "puVar8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }" { (if_statement "if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }" { (expression_statement "uVar12 = (uVar12 - 1) + uVar6 & -uVar6;" (assignment_expression "uVar12 = (uVar12 - 1) + uVar6 & -uVar6" identifier = (binary_expression "(uVar12 - 1) + uVar6 & -uVar6" (binary_expression "(uVar12 - 1) + uVar6" (parenthesized_expression "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) )) + identifier) & (unary_expression "-uVar6" - identifier))) ;) })) (expression_statement "FUN_0024dec0(lVar9,puVar8,uVar12);" (call_expression "FUN_0024dec0(lVar9,puVar8,uVar12)" identifier (argument_list "(lVar9,puVar8,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "plVar11 = (long *)param_4[1];" (assignment_expression "plVar11 = (long *)param_4[1]" identifier = (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);" (assignment_expression "uVar12 = uVar12 + *(uint *)(lVar9 + 0x44)" identifier = (binary_expression "uVar12 + *(uint *)(lVar9 + 0x44)" identifier + (pointer_expression "*(uint *)(lVar9 + 0x44)" * (cast_expression "(uint *)(lVar9 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x44)" ( (binary_expression "lVar9 + 0x44" identifier + number_literal) )))))) ;) (goto_statement "goto LAB_002623f0;" goto statement_identifier ;) })) (expression_statement "uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);" (assignment_expression "uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6)" identifier = (call_expression "FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6)" identifier (argument_list "(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6)" ( identifier , (pointer_expression "*(undefined4 *)(lVar9 + 0x44)" * (cast_expression "(undefined4 *)(lVar9 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x44)" ( (binary_expression "lVar9 + 0x44" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }" if (parenthesized_expression "(uVar12 == 0xffffffffffffffff)" ( (binary_expression "uVar12 == 0xffffffffffffffff" identifier == number_literal) )) (compound_statement "{\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }" { (expression_statement "uVar1 = *(undefined8 *)(local_78 + 0x28);" (assignment_expression "uVar1 = *(undefined8 *)(local_78 + 0x28)" identifier = (pointer_expression "*(undefined8 *)(local_78 + 0x28)" * (cast_expression "(undefined8 *)(local_78 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0x28)" ( (binary_expression "local_78 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");" (assignment_expression "uVar10 = gettext("out of patch space in section %s; relink with --incremental-full")" identifier = (call_expression "gettext("out of patch space in section %s; relink with --incremental-full")" identifier (argument_list "("out of patch space in section %s; relink with --incremental-full")" ( (string_literal ""out of patch space in section %s; relink with --incremental-full"" " string_content ") )))) ;) (expression_statement "FUN_001917d0(uVar10,uVar1);" (call_expression "FUN_001917d0(uVar10,uVar1)" identifier (argument_list "(uVar10,uVar1)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_002625b1;" goto statement_identifier ;) })) (expression_statement "FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);" (call_expression "FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff)" identifier (argument_list "(lVar9,local_78,uVar12 & 0xffffffff)" ( identifier , identifier , (binary_expression "uVar12 & 0xffffffff" identifier & number_literal) ))) ;) })) (expression_statement "plVar11 = (long *)param_4[1];" (assignment_expression "plVar11 = (long *)param_4[1]" identifier = (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_002623f0:\n      plVar7 = plVar15;" statement_identifier : (expression_statement "plVar7 = plVar15;" (assignment_expression "plVar7 = plVar15" identifier = identifier) ;)) }) while (parenthesized_expression "((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0))" ( (binary_expression "(plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0)" (parenthesized_expression "(plVar11 != plVar15)" ( (binary_expression "plVar11 != plVar15" identifier != identifier) )) && (parenthesized_expression "(lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0)" ( (comma_expression "lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0" (assignment_expression "lVar4 = *plVar15" identifier = (pointer_expression "*plVar15" * identifier)) , (comma_expression "plVar7 = plVar11, lVar4 != 0" (assignment_expression "plVar7 = plVar11" identifier = identifier) , (binary_expression "lVar4 != 0" identifier != number_literal))) ))) )) ;) }))) (if_statement "if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }" if (parenthesized_expression "(puVar8 != (undefined8 *)0x0)" ( (binary_expression "puVar8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }" { (if_statement "if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" if (parenthesized_expression "((*(byte *)(puVar8 + 4) & 2) != 0)" ( (binary_expression "(*(byte *)(puVar8 + 4) & 2) != 0" (parenthesized_expression "(*(byte *)(puVar8 + 4) & 2)" ( (binary_expression "*(byte *)(puVar8 + 4) & 2" (pointer_expression "*(byte *)(puVar8 + 4)" * (cast_expression "(byte *)(puVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_002625b1:\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" { (labeled_statement "LAB_002625b1:\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");" statement_identifier : comment (expression_statement "FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;)) })) (expression_statement "puVar8[2] = uVar12;" (assignment_expression "puVar8[2] = uVar12" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }" if (parenthesized_expression "((long *)*param_4 != plVar7)" ( (binary_expression "(long *)*param_4 != plVar7" (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier)) != identifier) )) (compound_statement "{\n    param_4[1] = *param_4;\n  }" { (expression_statement "param_4[1] = *param_4;" (assignment_expression "param_4[1] = *param_4" (subscript_expression "param_4[1]" identifier [ number_literal ]) = (pointer_expression "*param_4" * identifier)) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void do_allocate_commons_list<32>(Symbol_table * this, Layout * layout,\n   Commons_section_type commons_section_type, Commons_type * commons, Mapfile * mapfile,\n   Sort_commons_order sort_order) */\n\nvoid __thiscall\ngold::Symbol_table::do_allocate_commons_list<32>\n          (Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,\n          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)\n\n{\n  undefined1 *puVar1;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first;\n  Target_info *pTVar2;\n  long lVar3;\n  bool bVar4;\n  undefined1 uVar5;\n  bool bVar6;\n  Layout *this_00;\n  ulong uVar7;\n  pointer ppSVar8;\n  Output_section *posd;\n  Sized_symbol<32> *pSVar9;\n  ulong addralign;\n  pointer ppSVar10;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last;\n  Layout *from;\n  Layout *sym;\n  Got_offset_list *pGVar11;\n  Symbol_table *this_01;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;\n  char *pcVar12;\n  char *pcVar13;\n  pointer ppSVar14;\n  _Val_comp_iter<gold::Sort_commons<32>_> __comp;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_00;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;\n  Output_section *local_78;\n  ulong uStack_48;\n  \n  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar14 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     ) {\n    return;\n  }\n  pGVar11 = (Got_offset_list *)0x0;\n  sym = layout;\n  bVar6 = false;\n  do {\n    while( true ) {\n      ppSVar10 = ppSVar14;\n      from = (Layout *)*ppSVar10;\n      this_00 = from;\n      if ((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {\n        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);\n        *ppSVar10 = (Symbol *)this_00;\n        sym = from;\n      }\n      if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))\n      break;\n      *ppSVar10 = (Symbol *)0x0;\n      ppSVar14 = ppSVar10 + 1;\n      bVar4 = bVar6;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1) goto LAB_00262138;\n    }\n    pSVar9 = get_sized_symbol<32>((Symbol_table *)this_00,(Symbol *)sym);\n    if (pGVar11 < (Got_offset_list *)(ulong)pSVar9->value_) {\n      pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_;\n    }\n    ppSVar14 = ppSVar10 + 1;\n    bVar6 = bVar4;\n  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar10 + 1);\nLAB_00262138:\n  __last_00._M_current = ppSVar10 + 1;\n  if (bVar4 == false) {\n    return;\n  }\n  __first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start\n  ;\n  if (__last_00._M_current == __first._M_current) {\nLAB_0026221c:\n    if (commons_section_type != COMMONS_TLS) goto LAB_00262229;\nLAB_00262453:\n    pcVar13 = "** tls common";\n    pcVar12 = ".tbss";\n    uVar7 = 0x403;\n  }\n  else {\n    uVar7 = (long)__last_00._M_current - (long)__first._M_current >> 3;\n    lVar3 = 0x3f;\n    if (uVar7 != 0) {\n      for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {\n      }\n    }\n    __comp_00._M_comp.sort_order_ = sort_order;\n    __comp_00._M_comp.symtab_ = this;\n    __comp_00._M_comp._12_4_ = 0;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00);\n    if (0x80 < (long)__last_00._M_current - (long)__first._M_current) {\n      __last._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      __comp_01._M_comp._12_4_ = 0;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_01);\n      for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }\n      goto LAB_0026221c;\n    }\n    __comp_02._M_comp.sort_order_ = sort_order;\n    __comp_02._M_comp.symtab_ = this;\n    __comp_02._M_comp._12_4_ = 0;\n    std::\n    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,__comp_02);\n    if (commons_section_type == COMMONS_TLS) goto LAB_00262453;\nLAB_00262229:\n    if (commons_section_type == COMMONS_NORMAL) {\n      pcVar13 = "** common";\n      pcVar12 = &DAT_0033f44c;\n      uVar7 = 3;\n    }\n    else {\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }\n  }\n  uVar5 = Parameters::incremental_update(parameters);\njoined_r0x00262324:\n  if ((bool)uVar5) {\n    posd = (Output_section *)0x0;\n    local_78 = Layout::find_output_section(layout,pcVar12);\n  }\n  else {\n    posd = (Output_section *)operator_new(0x40);\n    puVar1 = &(posd->super_Output_data).field_0x20;\n    *puVar1 = *puVar1 & 0xe0;\n    (posd->super_Output_data).address_ = 0;\n    (posd->super_Output_data).data_size_ = 0;\n    (posd->super_Output_data).offset_ = -1;\n    *(Output_section **)&posd->name_ = (Output_section *)0x0;\n    posd->addralign_ = (uint64_t)pGVar11;\n    (posd->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_003ec600;\n    posd->entsize_ = (uint64_t)pcVar13;\n    local_78 = Layout::add_output_section_data\n                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false);\n  }\n  if (local_78 != (Output_section *)0x0) {\n    if (commons_section_type == COMMONS_SMALL) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;\n    }\n  }\n  ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_finish;\n  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if ((ppSVar14 == ppSVar10) ||\n     (this_01 = (Symbol_table *)*ppSVar14, this_01 == (Symbol_table *)0x0)) {\n    uVar7 = 0;\n    ppSVar8 = ppSVar10;\n  }\n  else {\n    uVar7 = 0;\n    do {\n      ppSVar14 = ppSVar14 + 1;\n      if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }\nLAB_002623f0:\n      ppSVar8 = ppSVar14;\n    } while ((ppSVar10 != ppSVar14) &&\n            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            ));\n  }\n  if (posd != (Output_section *)0x0) {\n    if (((posd->super_Output_data).field_0x20 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (posd->super_Output_data).data_size_ = uVar7;\n  }\n  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar14 != ppSVar8) {\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar14;\n  }\n  return;\n}\n\n" comment comment comment comment (function_definition "void __thiscall\ngold::Symbol_table::do_allocate_commons_list<32>\n          (Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,\n          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)\n\n{\n  undefined1 *puVar1;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first;\n  Target_info *pTVar2;\n  long lVar3;\n  bool bVar4;\n  undefined1 uVar5;\n  bool bVar6;\n  Layout *this_00;\n  ulong uVar7;\n  pointer ppSVar8;\n  Output_section *posd;\n  Sized_symbol<32> *pSVar9;\n  ulong addralign;\n  pointer ppSVar10;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last;\n  Layout *from;\n  Layout *sym;\n  Got_offset_list *pGVar11;\n  Symbol_table *this_01;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;\n  char *pcVar12;\n  char *pcVar13;\n  pointer ppSVar14;\n  _Val_comp_iter<gold::Sort_commons<32>_> __comp;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_00;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;\n  Output_section *local_78;\n  ulong uStack_48;\n  \n  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar14 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     ) {\n    return;\n  }\n  pGVar11 = (Got_offset_list *)0x0;\n  sym = layout;\n  bVar6 = false;\n  do {\n    while( true ) {\n      ppSVar10 = ppSVar14;\n      from = (Layout *)*ppSVar10;\n      this_00 = from;\n      if ((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {\n        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);\n        *ppSVar10 = (Symbol *)this_00;\n        sym = from;\n      }\n      if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))\n      break;\n      *ppSVar10 = (Symbol *)0x0;\n      ppSVar14 = ppSVar10 + 1;\n      bVar4 = bVar6;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1) goto LAB_00262138;\n    }\n    pSVar9 = get_sized_symbol<32>((Symbol_table *)this_00,(Symbol *)sym);\n    if (pGVar11 < (Got_offset_list *)(ulong)pSVar9->value_) {\n      pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_;\n    }\n    ppSVar14 = ppSVar10 + 1;\n    bVar6 = bVar4;\n  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar10 + 1);\nLAB_00262138:\n  __last_00._M_current = ppSVar10 + 1;\n  if (bVar4 == false) {\n    return;\n  }\n  __first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start\n  ;\n  if (__last_00._M_current == __first._M_current) {\nLAB_0026221c:\n    if (commons_section_type != COMMONS_TLS) goto LAB_00262229;\nLAB_00262453:\n    pcVar13 = "** tls common";\n    pcVar12 = ".tbss";\n    uVar7 = 0x403;\n  }\n  else {\n    uVar7 = (long)__last_00._M_current - (long)__first._M_current >> 3;\n    lVar3 = 0x3f;\n    if (uVar7 != 0) {\n      for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {\n      }\n    }\n    __comp_00._M_comp.sort_order_ = sort_order;\n    __comp_00._M_comp.symtab_ = this;\n    __comp_00._M_comp._12_4_ = 0;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00);\n    if (0x80 < (long)__last_00._M_current - (long)__first._M_current) {\n      __last._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      __comp_01._M_comp._12_4_ = 0;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_01);\n      for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }\n      goto LAB_0026221c;\n    }\n    __comp_02._M_comp.sort_order_ = sort_order;\n    __comp_02._M_comp.symtab_ = this;\n    __comp_02._M_comp._12_4_ = 0;\n    std::\n    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,__comp_02);\n    if (commons_section_type == COMMONS_TLS) goto LAB_00262453;\nLAB_00262229:\n    if (commons_section_type == COMMONS_NORMAL) {\n      pcVar13 = "** common";\n      pcVar12 = &DAT_0033f44c;\n      uVar7 = 3;\n    }\n    else {\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }\n  }\n  uVar5 = Parameters::incremental_update(parameters);\njoined_r0x00262324:\n  if ((bool)uVar5) {\n    posd = (Output_section *)0x0;\n    local_78 = Layout::find_output_section(layout,pcVar12);\n  }\n  else {\n    posd = (Output_section *)operator_new(0x40);\n    puVar1 = &(posd->super_Output_data).field_0x20;\n    *puVar1 = *puVar1 & 0xe0;\n    (posd->super_Output_data).address_ = 0;\n    (posd->super_Output_data).data_size_ = 0;\n    (posd->super_Output_data).offset_ = -1;\n    *(Output_section **)&posd->name_ = (Output_section *)0x0;\n    posd->addralign_ = (uint64_t)pGVar11;\n    (posd->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_003ec600;\n    posd->entsize_ = (uint64_t)pcVar13;\n    local_78 = Layout::add_output_section_data\n                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false);\n  }\n  if (local_78 != (Output_section *)0x0) {\n    if (commons_section_type == COMMONS_SMALL) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;\n    }\n  }\n  ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_finish;\n  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if ((ppSVar14 == ppSVar10) ||\n     (this_01 = (Symbol_table *)*ppSVar14, this_01 == (Symbol_table *)0x0)) {\n    uVar7 = 0;\n    ppSVar8 = ppSVar10;\n  }\n  else {\n    uVar7 = 0;\n    do {\n      ppSVar14 = ppSVar14 + 1;\n      if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }\nLAB_002623f0:\n      ppSVar8 = ppSVar14;\n    } while ((ppSVar10 != ppSVar14) &&\n            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            ));\n  }\n  if (posd != (Output_section *)0x0) {\n    if (((posd->super_Output_data).field_0x20 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (posd->super_Output_data).data_size_ = uVar7;\n  }\n  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar14 != ppSVar8) {\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar14;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) (function_declarator "do_allocate_commons_list<32>\n          (Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,\n          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)" identifier (ERROR "<32>" < number_literal >) (parameter_list "(Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,\n          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)" ( (parameter_declaration "Symbol_table *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Commons_section_type commons_section_type" type_identifier identifier) , (parameter_declaration "Commons_type *commons" type_identifier (pointer_declarator "*commons" * identifier)) , (parameter_declaration "Mapfile *mapfile" type_identifier (pointer_declarator "*mapfile" * identifier)) , (parameter_declaration "Sort_commons_order sort_order" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first;\n  Target_info *pTVar2;\n  long lVar3;\n  bool bVar4;\n  undefined1 uVar5;\n  bool bVar6;\n  Layout *this_00;\n  ulong uVar7;\n  pointer ppSVar8;\n  Output_section *posd;\n  Sized_symbol<32> *pSVar9;\n  ulong addralign;\n  pointer ppSVar10;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last;\n  Layout *from;\n  Layout *sym;\n  Got_offset_list *pGVar11;\n  Symbol_table *this_01;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;\n  char *pcVar12;\n  char *pcVar13;\n  pointer ppSVar14;\n  _Val_comp_iter<gold::Sort_commons<32>_> __comp;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_00;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;\n  Output_section *local_78;\n  ulong uStack_48;\n  \n  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar14 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     ) {\n    return;\n  }\n  pGVar11 = (Got_offset_list *)0x0;\n  sym = layout;\n  bVar6 = false;\n  do {\n    while( true ) {\n      ppSVar10 = ppSVar14;\n      from = (Layout *)*ppSVar10;\n      this_00 = from;\n      if ((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {\n        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);\n        *ppSVar10 = (Symbol *)this_00;\n        sym = from;\n      }\n      if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))\n      break;\n      *ppSVar10 = (Symbol *)0x0;\n      ppSVar14 = ppSVar10 + 1;\n      bVar4 = bVar6;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1) goto LAB_00262138;\n    }\n    pSVar9 = get_sized_symbol<32>((Symbol_table *)this_00,(Symbol *)sym);\n    if (pGVar11 < (Got_offset_list *)(ulong)pSVar9->value_) {\n      pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_;\n    }\n    ppSVar14 = ppSVar10 + 1;\n    bVar6 = bVar4;\n  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar10 + 1);\nLAB_00262138:\n  __last_00._M_current = ppSVar10 + 1;\n  if (bVar4 == false) {\n    return;\n  }\n  __first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start\n  ;\n  if (__last_00._M_current == __first._M_current) {\nLAB_0026221c:\n    if (commons_section_type != COMMONS_TLS) goto LAB_00262229;\nLAB_00262453:\n    pcVar13 = "** tls common";\n    pcVar12 = ".tbss";\n    uVar7 = 0x403;\n  }\n  else {\n    uVar7 = (long)__last_00._M_current - (long)__first._M_current >> 3;\n    lVar3 = 0x3f;\n    if (uVar7 != 0) {\n      for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {\n      }\n    }\n    __comp_00._M_comp.sort_order_ = sort_order;\n    __comp_00._M_comp.symtab_ = this;\n    __comp_00._M_comp._12_4_ = 0;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00);\n    if (0x80 < (long)__last_00._M_current - (long)__first._M_current) {\n      __last._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      __comp_01._M_comp._12_4_ = 0;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_01);\n      for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }\n      goto LAB_0026221c;\n    }\n    __comp_02._M_comp.sort_order_ = sort_order;\n    __comp_02._M_comp.symtab_ = this;\n    __comp_02._M_comp._12_4_ = 0;\n    std::\n    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,__comp_02);\n    if (commons_section_type == COMMONS_TLS) goto LAB_00262453;\nLAB_00262229:\n    if (commons_section_type == COMMONS_NORMAL) {\n      pcVar13 = "** common";\n      pcVar12 = &DAT_0033f44c;\n      uVar7 = 3;\n    }\n    else {\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }\n  }\n  uVar5 = Parameters::incremental_update(parameters);\njoined_r0x00262324:\n  if ((bool)uVar5) {\n    posd = (Output_section *)0x0;\n    local_78 = Layout::find_output_section(layout,pcVar12);\n  }\n  else {\n    posd = (Output_section *)operator_new(0x40);\n    puVar1 = &(posd->super_Output_data).field_0x20;\n    *puVar1 = *puVar1 & 0xe0;\n    (posd->super_Output_data).address_ = 0;\n    (posd->super_Output_data).data_size_ = 0;\n    (posd->super_Output_data).offset_ = -1;\n    *(Output_section **)&posd->name_ = (Output_section *)0x0;\n    posd->addralign_ = (uint64_t)pGVar11;\n    (posd->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_003ec600;\n    posd->entsize_ = (uint64_t)pcVar13;\n    local_78 = Layout::add_output_section_data\n                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false);\n  }\n  if (local_78 != (Output_section *)0x0) {\n    if (commons_section_type == COMMONS_SMALL) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;\n    }\n  }\n  ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_finish;\n  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if ((ppSVar14 == ppSVar10) ||\n     (this_01 = (Symbol_table *)*ppSVar14, this_01 == (Symbol_table *)0x0)) {\n    uVar7 = 0;\n    ppSVar8 = ppSVar10;\n  }\n  else {\n    uVar7 = 0;\n    do {\n      ppSVar14 = ppSVar14 + 1;\n      if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }\nLAB_002623f0:\n      ppSVar8 = ppSVar14;\n    } while ((ppSVar10 != ppSVar14) &&\n            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            ));\n  }\n  if (posd != (Output_section *)0x0) {\n    if (((posd->super_Output_data).field_0x20 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (posd->super_Output_data).data_size_ = uVar7;\n  }\n  ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar14 != ppSVar8) {\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar14;\n  }\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first;" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) > identifier) ;) (declaration "Target_info *pTVar2;" type_identifier (pointer_declarator "*pTVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "undefined1 uVar5;" type_identifier identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "Layout *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "pointer ppSVar8;" type_identifier identifier ;) (declaration "Output_section *posd;" type_identifier (pointer_declarator "*posd" * identifier) ;) (expression_statement "Sized_symbol<32> *pSVar9;" (binary_expression "Sized_symbol<32> *pSVar9" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*pSVar9" * identifier)) ;) (declaration "ulong addralign;" type_identifier identifier ;) (declaration "pointer ppSVar10;" type_identifier identifier ;) (expression_statement "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last;" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) > identifier) ;) (declaration "Layout *from;" type_identifier (pointer_declarator "*from" * identifier) ;) (declaration "Layout *sym;" type_identifier (pointer_declarator "*sym" * identifier) ;) (declaration "Got_offset_list *pGVar11;" type_identifier (pointer_declarator "*pGVar11" * identifier) ;) (declaration "Symbol_table *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (expression_statement "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) > identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "pointer ppSVar14;" type_identifier identifier ;) (expression_statement "_Val_comp_iter<gold::Sort_commons<32>_> __comp;" (binary_expression "_Val_comp_iter<gold::Sort_commons<32>_> __comp" (binary_expression "_Val_comp_iter<gold::Sort_commons<32>_" (binary_expression "_Val_comp_iter<gold::Sort_commons<32" (binary_expression "_Val_comp_iter<gold" identifier < identifier) (ERROR "::Sort_commons" : : identifier) < number_literal) > identifier) > identifier) ;) (expression_statement "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_00;" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_00" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32" (binary_expression "_Iter_comp_iter<gold" identifier < identifier) (ERROR "::Sort_commons" : : identifier) < number_literal) > identifier) > identifier) ;) (expression_statement "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_01" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32" (binary_expression "_Iter_comp_iter<gold" identifier < identifier) (ERROR "::Sort_commons" : : identifier) < number_literal) > identifier) > identifier) ;) (expression_statement "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_02" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32" (binary_expression "_Iter_comp_iter<gold" identifier < identifier) (ERROR "::Sort_commons" : : identifier) < number_literal) > identifier) > identifier) ;) (declaration "Output_section *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "ulong uStack_48;" type_identifier identifier ;) (expression_statement "ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;" (assignment_expression "ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (ppSVar14 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     ) {\n    return;\n  }" if (parenthesized_expression "(ppSVar14 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     )" ( (binary_expression "ppSVar14 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish" identifier == (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pGVar11 = (Got_offset_list *)0x0;" (assignment_expression "pGVar11 = (Got_offset_list *)0x0" identifier = (cast_expression "(Got_offset_list *)0x0" ( (type_descriptor "Got_offset_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sym = layout;" (assignment_expression "sym = layout" identifier = identifier) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (do_statement "do {\n    while( true ) {\n      ppSVar10 = ppSVar14;\n      from = (Layout *)*ppSVar10;\n      this_00 = from;\n      if ((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {\n        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);\n        *ppSVar10 = (Symbol *)this_00;\n        sym = from;\n      }\n      if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))\n      break;\n      *ppSVar10 = (Symbol *)0x0;\n      ppSVar14 = ppSVar10 + 1;\n      bVar4 = bVar6;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1) goto LAB_00262138;\n    }\n    pSVar9 = get_sized_symbol<32>((Symbol_table *)this_00,(Symbol *)sym);\n    if (pGVar11 < (Got_offset_list *)(ulong)pSVar9->value_) {\n      pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_;\n    }\n    ppSVar14 = ppSVar10 + 1;\n    bVar6 = bVar4;\n  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar10 + 1);" do (compound_statement "{\n    while( true ) {\n      ppSVar10 = ppSVar14;\n      from = (Layout *)*ppSVar10;\n      this_00 = from;\n      if ((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {\n        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);\n        *ppSVar10 = (Symbol *)this_00;\n        sym = from;\n      }\n      if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))\n      break;\n      *ppSVar10 = (Symbol *)0x0;\n      ppSVar14 = ppSVar10 + 1;\n      bVar4 = bVar6;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1) goto LAB_00262138;\n    }\n    pSVar9 = get_sized_symbol<32>((Symbol_table *)this_00,(Symbol *)sym);\n    if (pGVar11 < (Got_offset_list *)(ulong)pSVar9->value_) {\n      pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_;\n    }\n    ppSVar14 = ppSVar10 + 1;\n    bVar6 = bVar4;\n  }" { (while_statement "while( true ) {\n      ppSVar10 = ppSVar14;\n      from = (Layout *)*ppSVar10;\n      this_00 = from;\n      if ((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {\n        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);\n        *ppSVar10 = (Symbol *)this_00;\n        sym = from;\n      }\n      if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))\n      break;\n      *ppSVar10 = (Symbol *)0x0;\n      ppSVar14 = ppSVar10 + 1;\n      bVar4 = bVar6;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1) goto LAB_00262138;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      ppSVar10 = ppSVar14;\n      from = (Layout *)*ppSVar10;\n      this_00 = from;\n      if ((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {\n        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);\n        *ppSVar10 = (Symbol *)this_00;\n        sym = from;\n      }\n      if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))\n      break;\n      *ppSVar10 = (Symbol *)0x0;\n      ppSVar14 = ppSVar10 + 1;\n      bVar4 = bVar6;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1) goto LAB_00262138;\n    }" { (expression_statement "ppSVar10 = ppSVar14;" (assignment_expression "ppSVar10 = ppSVar14" identifier = identifier) ;) (expression_statement "from = (Layout *)*ppSVar10;" (assignment_expression "from = (Layout *)*ppSVar10" identifier = (cast_expression "(Layout *)*ppSVar10" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppSVar10" * identifier))) ;) (expression_statement "this_00 = from;" (assignment_expression "this_00 = from" identifier = identifier) ;) (if_statement "if ((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {\n        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);\n        *ppSVar10 = (Symbol *)this_00;\n        sym = from;\n      }" if (parenthesized_expression "((*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0)" ( (binary_expression "(*(byte *)((long)&from->namepool_ + 0x2a) & 0x10) != 0" (parenthesized_expression "(*(byte *)((long)&from->namepool_ + 0x2a) & 0x10)" ( (binary_expression "*(byte *)((long)&from->namepool_ + 0x2a) & 0x10" (pointer_expression "*(byte *)((long)&from->namepool_ + 0x2a)" * (cast_expression "(byte *)((long)&from->namepool_ + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&from->namepool_ + 0x2a)" ( (binary_expression "(long)&from->namepool_ + 0x2a" (cast_expression "(long)&from->namepool_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&from->namepool_" & (field_expression "from->namepool_" identifier -> field_identifier))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);\n        *ppSVar10 = (Symbol *)this_00;\n        sym = from;\n      }" { (expression_statement "this_00 = (Layout *)resolve_forwards(this,(Symbol *)from);" (assignment_expression "this_00 = (Layout *)resolve_forwards(this,(Symbol *)from)" identifier = (cast_expression "(Layout *)resolve_forwards(this,(Symbol *)from)" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "resolve_forwards(this,(Symbol *)from)" identifier (argument_list "(this,(Symbol *)from)" ( identifier , (cast_expression "(Symbol *)from" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (expression_statement "*ppSVar10 = (Symbol *)this_00;" (assignment_expression "*ppSVar10 = (Symbol *)this_00" (pointer_expression "*ppSVar10" * identifier) = (cast_expression "(Symbol *)this_00" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "sym = from;" (assignment_expression "sym = from" identifier = identifier) ;) })) (if_statement "if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))\n      break;" if (parenthesized_expression "(((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4))" ( (binary_expression "((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)) &&\n         (bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4)" (parenthesized_expression "((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0))" ( (binary_expression "(((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)\n          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)" (parenthesized_expression "(((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)" ( (binary_expression "((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0" (parenthesized_expression "((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000)" ( (binary_expression "(this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000" (field_expression "(this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize" (field_expression "(this_00->namepool_).string_set_._M_h._M_rehash_policy" (field_expression "(this_00->namepool_).string_set_._M_h" (field_expression "(this_00->namepool_).string_set_" (parenthesized_expression "(this_00->namepool_)" ( (field_expression "this_00->namepool_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0)" ( (binary_expression "((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)\n              == 0" (parenthesized_expression "((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)" ( (binary_expression "(this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000" (field_expression "(this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize" (field_expression "(this_00->namepool_).string_set_._M_h._M_rehash_policy" (field_expression "(this_00->namepool_).string_set_._M_h" (field_expression "(this_00->namepool_).string_set_" (parenthesized_expression "(this_00->namepool_)" ( (field_expression "this_00->namepool_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(bVar4 = Symbol::is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4)" ( (ERROR "bVar4 = Symbol::" (assignment_expression "bVar4 = Symbol" identifier = identifier) : :) (comma_expression "is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count), bVar4" (call_expression "is_common_shndx\n                            ((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count)" identifier (argument_list "((uint)(this_00->namepool_).string_set_._M_h._M_bucket_count)" ( (field_expression "(uint)(this_00->namepool_).string_set_._M_h._M_bucket_count" (field_expression "(uint)(this_00->namepool_).string_set_._M_h" (field_expression "(uint)(this_00->namepool_).string_set_" (call_expression "(uint)(this_00->namepool_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this_00->namepool_)" ( (field_expression "this_00->namepool_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) ))) , identifier) ))) )) (break_statement "break;" break ;)) (expression_statement "*ppSVar10 = (Symbol *)0x0;" (assignment_expression "*ppSVar10 = (Symbol *)0x0" (pointer_expression "*ppSVar10" * identifier) = (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppSVar14 = ppSVar10 + 1;" (assignment_expression "ppSVar14 = ppSVar10 + 1" identifier = (binary_expression "ppSVar10 + 1" identifier + number_literal)) ;) (expression_statement "bVar4 = bVar6;" (assignment_expression "bVar4 = bVar6" identifier = identifier) ;) (if_statement "if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1) goto LAB_00262138;" if (parenthesized_expression "((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1)" ( (binary_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar10 + 1" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) == (binary_expression "ppSVar10 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_00262138;" goto statement_identifier ;)) })) (expression_statement "pSVar9 = get_sized_symbol<32>((Symbol_table *)this_00,(Symbol *)sym);" (assignment_expression "pSVar9 = get_sized_symbol<32>((Symbol_table *)this_00,(Symbol *)sym)" identifier = (binary_expression "get_sized_symbol<32>((Symbol_table *)this_00,(Symbol *)sym)" (binary_expression "get_sized_symbol<32" identifier < number_literal) > (parenthesized_expression "((Symbol_table *)this_00,(Symbol *)sym)" ( (comma_expression "(Symbol_table *)this_00,(Symbol *)sym" (cast_expression "(Symbol_table *)this_00" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Symbol *)sym" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (pGVar11 < (Got_offset_list *)(ulong)pSVar9->value_) {\n      pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_;\n    }" if (parenthesized_expression "(pGVar11 < (Got_offset_list *)(ulong)pSVar9->value_)" ( (binary_expression "pGVar11 < (Got_offset_list *)(ulong)pSVar9->value_" identifier < (cast_expression "(Got_offset_list *)(ulong)pSVar9->value_" ( (type_descriptor "Got_offset_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)pSVar9->value_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pSVar9->value_" identifier -> field_identifier)))) )) (compound_statement "{\n      pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_;\n    }" { (expression_statement "pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_;" (assignment_expression "pGVar11 = (Got_offset_list *)(ulong)pSVar9->value_" identifier = (cast_expression "(Got_offset_list *)(ulong)pSVar9->value_" ( (type_descriptor "Got_offset_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)pSVar9->value_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pSVar9->value_" identifier -> field_identifier)))) ;) })) (expression_statement "ppSVar14 = ppSVar10 + 1;" (assignment_expression "ppSVar14 = ppSVar10 + 1" identifier = (binary_expression "ppSVar10 + 1" identifier + number_literal)) ;) (expression_statement "bVar6 = bVar4;" (assignment_expression "bVar6 = bVar4" identifier = identifier) ;) }) while (parenthesized_expression "((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar10 + 1)" ( (binary_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar10 + 1" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) != (binary_expression "ppSVar10 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_00262138:\n  __last_00._M_current = ppSVar10 + 1;" statement_identifier : (expression_statement "__last_00._M_current = ppSVar10 + 1;" (assignment_expression "__last_00._M_current = ppSVar10 + 1" (field_expression "__last_00._M_current" identifier . field_identifier) = (binary_expression "ppSVar10 + 1" identifier + number_literal)) ;)) (if_statement "if (bVar4 == false) {\n    return;\n  }" if (parenthesized_expression "(bVar4 == false)" ( (binary_expression "bVar4 == false" identifier == false) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "__first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start\n  ;" (assignment_expression "__first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start" (field_expression "__first._M_current" identifier . field_identifier) = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (__last_00._M_current == __first._M_current) {\nLAB_0026221c:\n    if (commons_section_type != COMMONS_TLS) goto LAB_00262229;\nLAB_00262453:\n    pcVar13 = "** tls common";\n    pcVar12 = ".tbss";\n    uVar7 = 0x403;\n  }\n  else {\n    uVar7 = (long)__last_00._M_current - (long)__first._M_current >> 3;\n    lVar3 = 0x3f;\n    if (uVar7 != 0) {\n      for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {\n      }\n    }\n    __comp_00._M_comp.sort_order_ = sort_order;\n    __comp_00._M_comp.symtab_ = this;\n    __comp_00._M_comp._12_4_ = 0;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00);\n    if (0x80 < (long)__last_00._M_current - (long)__first._M_current) {\n      __last._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      __comp_01._M_comp._12_4_ = 0;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_01);\n      for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }\n      goto LAB_0026221c;\n    }\n    __comp_02._M_comp.sort_order_ = sort_order;\n    __comp_02._M_comp.symtab_ = this;\n    __comp_02._M_comp._12_4_ = 0;\n    std::\n    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,__comp_02);\n    if (commons_section_type == COMMONS_TLS) goto LAB_00262453;\nLAB_00262229:\n    if (commons_section_type == COMMONS_NORMAL) {\n      pcVar13 = "** common";\n      pcVar12 = &DAT_0033f44c;\n      uVar7 = 3;\n    }\n    else {\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }\n  }" if (parenthesized_expression "(__last_00._M_current == __first._M_current)" ( (binary_expression "__last_00._M_current == __first._M_current" (field_expression "__last_00._M_current" identifier . field_identifier) == (field_expression "__first._M_current" identifier . field_identifier)) )) (compound_statement "{\nLAB_0026221c:\n    if (commons_section_type != COMMONS_TLS) goto LAB_00262229;\nLAB_00262453:\n    pcVar13 = "** tls common";\n    pcVar12 = ".tbss";\n    uVar7 = 0x403;\n  }" { (labeled_statement "LAB_0026221c:\n    if (commons_section_type != COMMONS_TLS) goto LAB_00262229;" statement_identifier : (if_statement "if (commons_section_type != COMMONS_TLS) goto LAB_00262229;" if (parenthesized_expression "(commons_section_type != COMMONS_TLS)" ( (binary_expression "commons_section_type != COMMONS_TLS" identifier != identifier) )) (goto_statement "goto LAB_00262229;" goto statement_identifier ;))) (labeled_statement "LAB_00262453:\n    pcVar13 = "** tls common";" statement_identifier : (expression_statement "pcVar13 = "** tls common";" (assignment_expression "pcVar13 = "** tls common"" identifier = (string_literal ""** tls common"" " string_content ")) ;)) (expression_statement "pcVar12 = ".tbss";" (assignment_expression "pcVar12 = ".tbss"" identifier = (string_literal "".tbss"" " string_content ")) ;) (expression_statement "uVar7 = 0x403;" (assignment_expression "uVar7 = 0x403" identifier = number_literal) ;) }) (else_clause "else {\n    uVar7 = (long)__last_00._M_current - (long)__first._M_current >> 3;\n    lVar3 = 0x3f;\n    if (uVar7 != 0) {\n      for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {\n      }\n    }\n    __comp_00._M_comp.sort_order_ = sort_order;\n    __comp_00._M_comp.symtab_ = this;\n    __comp_00._M_comp._12_4_ = 0;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00);\n    if (0x80 < (long)__last_00._M_current - (long)__first._M_current) {\n      __last._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      __comp_01._M_comp._12_4_ = 0;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_01);\n      for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }\n      goto LAB_0026221c;\n    }\n    __comp_02._M_comp.sort_order_ = sort_order;\n    __comp_02._M_comp.symtab_ = this;\n    __comp_02._M_comp._12_4_ = 0;\n    std::\n    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,__comp_02);\n    if (commons_section_type == COMMONS_TLS) goto LAB_00262453;\nLAB_00262229:\n    if (commons_section_type == COMMONS_NORMAL) {\n      pcVar13 = "** common";\n      pcVar12 = &DAT_0033f44c;\n      uVar7 = 3;\n    }\n    else {\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }\n  }" else (compound_statement "{\n    uVar7 = (long)__last_00._M_current - (long)__first._M_current >> 3;\n    lVar3 = 0x3f;\n    if (uVar7 != 0) {\n      for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {\n      }\n    }\n    __comp_00._M_comp.sort_order_ = sort_order;\n    __comp_00._M_comp.symtab_ = this;\n    __comp_00._M_comp._12_4_ = 0;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00);\n    if (0x80 < (long)__last_00._M_current - (long)__first._M_current) {\n      __last._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      __comp_01._M_comp._12_4_ = 0;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_01);\n      for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }\n      goto LAB_0026221c;\n    }\n    __comp_02._M_comp.sort_order_ = sort_order;\n    __comp_02._M_comp.symtab_ = this;\n    __comp_02._M_comp._12_4_ = 0;\n    std::\n    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,__comp_02);\n    if (commons_section_type == COMMONS_TLS) goto LAB_00262453;\nLAB_00262229:\n    if (commons_section_type == COMMONS_NORMAL) {\n      pcVar13 = "** common";\n      pcVar12 = &DAT_0033f44c;\n      uVar7 = 3;\n    }\n    else {\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }\n  }" { (expression_statement "uVar7 = (long)__last_00._M_current - (long)__first._M_current >> 3;" (assignment_expression "uVar7 = (long)__last_00._M_current - (long)__first._M_current >> 3" identifier = (binary_expression "(long)__last_00._M_current - (long)__first._M_current >> 3" (binary_expression "(long)__last_00._M_current - (long)__first._M_current" (cast_expression "(long)__last_00._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "__last_00._M_current" identifier . field_identifier)) - (cast_expression "(long)__first._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "__first._M_current" identifier . field_identifier))) >> number_literal)) ;) (expression_statement "lVar3 = 0x3f;" (assignment_expression "lVar3 = 0x3f" identifier = number_literal) ;) (if_statement "if (uVar7 != 0) {\n      for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {\n      }\n    }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {\n      }\n    }" { (for_statement "for (; uVar7 >> lVar3 == 0; lVar3 = lVar3 + -1) {\n      }" for ( ; (binary_expression "uVar7 >> lVar3 == 0" (binary_expression "uVar7 >> lVar3" identifier >> identifier) == number_literal) ; (assignment_expression "lVar3 = lVar3 + -1" identifier = (binary_expression "lVar3 + -1" identifier + number_literal)) ) (compound_statement "{\n      }" { })) })) (expression_statement "__comp_00._M_comp.sort_order_ = sort_order;" (assignment_expression "__comp_00._M_comp.sort_order_ = sort_order" (field_expression "__comp_00._M_comp.sort_order_" (field_expression "__comp_00._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_00._M_comp.symtab_ = this;" (assignment_expression "__comp_00._M_comp.symtab_ = this" (field_expression "__comp_00._M_comp.symtab_" (field_expression "__comp_00._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_00._M_comp._12_4_ = 0;" (assignment_expression "__comp_00._M_comp._12_4_ = 0" (field_expression "__comp_00._M_comp._12_4_" (field_expression "__comp_00._M_comp" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_long_int,___gnu_cxx::" (comma_expression "std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std" identifier (ERROR "::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**" : : (binary_expression "__introsort_loop<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : identifier * *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Symbol*>_>,_long_int,___gnu_cxx" (binary_expression "Symbol*>_>,_long_int" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) , identifier) : :) (labeled_statement "__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (expression_statement "Sort_commons<32>_>_>\n              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00);" (binary_expression "Sort_commons<32>_>_>\n              (__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00)" (binary_expression "Sort_commons<32>_>_" (binary_expression "Sort_commons<32>_" (binary_expression "Sort_commons<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00)" ( (comma_expression "__first,__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00" identifier , (comma_expression "__last_00,(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00" identifier , (comma_expression "(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2,__comp_00" (binary_expression "(0x3f - (long)(int)((uint)lVar3 ^ 0x3f)) * 2" (parenthesized_expression "(0x3f - (long)(int)((uint)lVar3 ^ 0x3f))" ( (binary_expression "0x3f - (long)(int)((uint)lVar3 ^ 0x3f)" number_literal - (cast_expression "(long)(int)((uint)lVar3 ^ 0x3f)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)((uint)lVar3 ^ 0x3f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)lVar3 ^ 0x3f)" ( (binary_expression "(uint)lVar3 ^ 0x3f" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) ))))) )) * number_literal) , identifier))) ))) ;)) (if_statement "if (0x80 < (long)__last_00._M_current - (long)__first._M_current) {\n      __last._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      __comp_01._M_comp._12_4_ = 0;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_01);\n      for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }\n      goto LAB_0026221c;\n    }" if (parenthesized_expression "(0x80 < (long)__last_00._M_current - (long)__first._M_current)" ( (binary_expression "0x80 < (long)__last_00._M_current - (long)__first._M_current" number_literal < (binary_expression "(long)__last_00._M_current - (long)__first._M_current" (cast_expression "(long)__last_00._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "__last_00._M_current" identifier . field_identifier)) - (cast_expression "(long)__first._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "__first._M_current" identifier . field_identifier)))) )) (compound_statement "{\n      __last._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      __comp_01._M_comp._12_4_ = 0;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_01);\n      for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }\n      goto LAB_0026221c;\n    }" { (expression_statement "__last._M_current = __first._M_current + 0x10;" (assignment_expression "__last._M_current = __first._M_current + 0x10" (field_expression "__last._M_current" identifier . field_identifier) = (binary_expression "__first._M_current + 0x10" (field_expression "__first._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "__comp_01._M_comp.sort_order_ = sort_order;" (assignment_expression "__comp_01._M_comp.sort_order_ = sort_order" (field_expression "__comp_01._M_comp.sort_order_" (field_expression "__comp_01._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_01._M_comp.symtab_ = this;" (assignment_expression "__comp_01._M_comp.symtab_ = this" (field_expression "__comp_01._M_comp.symtab_" (field_expression "__comp_01._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_01._M_comp._12_4_ = 0;" (assignment_expression "__comp_01._M_comp._12_4_ = 0" (field_expression "__comp_01._M_comp._12_4_" (field_expression "__comp_01._M_comp" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::" (comma_expression "std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std" identifier (ERROR "::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : identifier * *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Symbol*>_>,___gnu_cxx" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_01);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (expression_statement "Sort_commons<32>_>_>\n                (__first,__last,__comp_01);" (binary_expression "Sort_commons<32>_>_>\n                (__first,__last,__comp_01)" (binary_expression "Sort_commons<32>_>_" (binary_expression "Sort_commons<32>_" (binary_expression "Sort_commons<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(__first,__last,__comp_01)" ( (comma_expression "__first,__last,__comp_01" identifier , (comma_expression "__last,__comp_01" identifier , identifier)) ))) ;)) (for_statement "for (; __last_00._M_current != __last._M_current; __last._M_current = __last._M_current + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }" for ( ; (binary_expression "__last_00._M_current != __last._M_current" (field_expression "__last_00._M_current" identifier . field_identifier) != (field_expression "__last._M_current" identifier . field_identifier)) ; (assignment_expression "__last._M_current = __last._M_current + 1" (field_expression "__last._M_current" identifier . field_identifier) = (binary_expression "__last._M_current + 1" (field_expression "__last._M_current" identifier . field_identifier) + number_literal)) ) (compound_statement "{\n        uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;\n        __comp._M_comp._8_8_ = uStack_48;\n        __comp._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);\n      }" { (expression_statement "uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order;" (assignment_expression "uStack_48 = uStack_48 & 0xffffffff00000000 | (ulong)sort_order" identifier = (binary_expression "uStack_48 & 0xffffffff00000000 | (ulong)sort_order" (binary_expression "uStack_48 & 0xffffffff00000000" identifier & number_literal) | (cast_expression "(ulong)sort_order" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "__comp._M_comp._8_8_ = uStack_48;" (assignment_expression "__comp._M_comp._8_8_ = uStack_48" (field_expression "__comp._M_comp._8_8_" (field_expression "__comp._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp._M_comp.symtab_ = this;" (assignment_expression "__comp._M_comp.symtab_ = this" (field_expression "__comp._M_comp.symtab_" (field_expression "__comp._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (ERROR "std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::" (comma_expression "std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std" identifier (ERROR "::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**" : : (binary_expression "__unguarded_linear_insert<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : identifier * *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Symbol*>_>,___gnu_cxx" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last,__comp);" statement_identifier (ERROR "::_Val_comp_iter<gold:" : : (binary_expression "_Val_comp_iter<gold" identifier < identifier) :) : (expression_statement "Sort_commons<32>_>_>\n                  (__last,__comp);" (binary_expression "Sort_commons<32>_>_>\n                  (__last,__comp)" (binary_expression "Sort_commons<32>_>_" (binary_expression "Sort_commons<32>_" (binary_expression "Sort_commons<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(__last,__comp)" ( (comma_expression "__last,__comp" identifier , identifier) ))) ;)) })) (goto_statement "goto LAB_0026221c;" goto statement_identifier ;) })) (expression_statement "__comp_02._M_comp.sort_order_ = sort_order;" (assignment_expression "__comp_02._M_comp.sort_order_ = sort_order" (field_expression "__comp_02._M_comp.sort_order_" (field_expression "__comp_02._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_02._M_comp.symtab_ = this;" (assignment_expression "__comp_02._M_comp.symtab_ = this" (field_expression "__comp_02._M_comp.symtab_" (field_expression "__comp_02._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_02._M_comp._12_4_ = 0;" (assignment_expression "__comp_02._M_comp._12_4_ = 0" (field_expression "__comp_02._M_comp._12_4_" (field_expression "__comp_02._M_comp" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "std::\n    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::" (comma_expression "std::\n    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std" identifier (ERROR "::\n    __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : identifier * *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Symbol*>_>,___gnu_cxx" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last_00,__comp_02);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (expression_statement "Sort_commons<32>_>_>\n              (__first,__last_00,__comp_02);" (binary_expression "Sort_commons<32>_>_>\n              (__first,__last_00,__comp_02)" (binary_expression "Sort_commons<32>_>_" (binary_expression "Sort_commons<32>_" (binary_expression "Sort_commons<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(__first,__last_00,__comp_02)" ( (comma_expression "__first,__last_00,__comp_02" identifier , (comma_expression "__last_00,__comp_02" identifier , identifier)) ))) ;)) (if_statement "if (commons_section_type == COMMONS_TLS) goto LAB_00262453;" if (parenthesized_expression "(commons_section_type == COMMONS_TLS)" ( (binary_expression "commons_section_type == COMMONS_TLS" identifier == identifier) )) (goto_statement "goto LAB_00262453;" goto statement_identifier ;)) (labeled_statement "LAB_00262229:\n    if (commons_section_type == COMMONS_NORMAL) {\n      pcVar13 = "** common";\n      pcVar12 = &DAT_0033f44c;\n      uVar7 = 3;\n    }\n    else {\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }" statement_identifier : (if_statement "if (commons_section_type == COMMONS_NORMAL) {\n      pcVar13 = "** common";\n      pcVar12 = &DAT_0033f44c;\n      uVar7 = 3;\n    }\n    else {\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }" if (parenthesized_expression "(commons_section_type == COMMONS_NORMAL)" ( (binary_expression "commons_section_type == COMMONS_NORMAL" identifier == identifier) )) (compound_statement "{\n      pcVar13 = "** common";\n      pcVar12 = &DAT_0033f44c;\n      uVar7 = 3;\n    }" { (expression_statement "pcVar13 = "** common";" (assignment_expression "pcVar13 = "** common"" identifier = (string_literal ""** common"" " string_content ")) ;) (expression_statement "pcVar12 = &DAT_0033f44c;" (assignment_expression "pcVar12 = &DAT_0033f44c" identifier = (pointer_expression "&DAT_0033f44c" & identifier)) ;) (expression_statement "uVar7 = 3;" (assignment_expression "uVar7 = 3" identifier = number_literal) ;) }) (else_clause "else {\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }" else (compound_statement "{\n      if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }\n      if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (parameters->target_ == (Target *)0x0) goto LAB_00262560;\n      pTVar2 = parameters->target_->pti_;\n      if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar13 = "** large common";\n      pcVar12 = ".lbss";\n      uVar7 = pTVar2->large_common_section_flags | 3;\n    }" { (if_statement "if (commons_section_type == COMMONS_SMALL) {\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }" if (parenthesized_expression "(commons_section_type == COMMONS_SMALL)" ( (binary_expression "commons_section_type == COMMONS_SMALL" identifier == identifier) )) (compound_statement "{\n        if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n        pTVar2 = parameters->target_->pti_;\n        if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar13 = "** small common";\n        pcVar12 = ".sbss";\n        uVar7 = pTVar2->small_common_section_flags | 3;\n        uVar5 = Parameters::incremental_update(parameters);\n        goto joined_r0x00262324;\n      }" { (if_statement "if (parameters->target_ == (Target *)0x0) {\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }" { (labeled_statement "LAB_00262560:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;)) })) (expression_statement "pTVar2 = parameters->target_->pti_;" (assignment_expression "pTVar2 = parameters->target_->pti_" identifier = (field_expression "parameters->target_->pti_" (field_expression "parameters->target_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }" if (parenthesized_expression "(pTVar2->small_common_shndx == 0)" ( (binary_expression "pTVar2->small_common_shndx == 0" (field_expression "pTVar2->small_common_shndx" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");" (call_expression "do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags")" identifier (argument_list "("../../gold/target.h",0xc5,"small_common_section_flags")" ( (string_literal ""../../gold/target.h"" " string_content ") , number_literal , (string_literal ""small_common_section_flags"" " string_content ") ))) ;) })) (expression_statement "pcVar13 = "** small common";" (assignment_expression "pcVar13 = "** small common"" identifier = (string_literal ""** small common"" " string_content ")) ;) (expression_statement "pcVar12 = ".sbss";" (assignment_expression "pcVar12 = ".sbss"" identifier = (string_literal "".sbss"" " string_content ")) ;) (expression_statement "uVar7 = pTVar2->small_common_section_flags | 3;" (assignment_expression "uVar7 = pTVar2->small_common_section_flags | 3" identifier = (binary_expression "pTVar2->small_common_section_flags | 3" (field_expression "pTVar2->small_common_section_flags" identifier -> field_identifier) | number_literal)) ;) (ERROR "uVar5 = Parameters::" (assignment_expression "uVar5 = Parameters" identifier = identifier) : :) (expression_statement "incremental_update(parameters);" (call_expression "incremental_update(parameters)" identifier (argument_list "(parameters)" ( identifier ))) ;) (goto_statement "goto joined_r0x00262324;" goto statement_identifier ;) })) (if_statement "if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }" if (parenthesized_expression "(commons_section_type != COMMONS_LARGE)" ( (binary_expression "commons_section_type != COMMONS_LARGE" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");" (call_expression "do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list")" identifier (argument_list "("../../gold/common.cc",0x11b,"do_allocate_commons_list")" ( (string_literal ""../../gold/common.cc"" " string_content ") , number_literal , (string_literal ""do_allocate_commons_list"" " string_content ") ))) ;) })) (if_statement "if (parameters->target_ == (Target *)0x0) goto LAB_00262560;" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00262560;" goto statement_identifier ;)) (expression_statement "pTVar2 = parameters->target_->pti_;" (assignment_expression "pTVar2 = parameters->target_->pti_" identifier = (field_expression "parameters->target_->pti_" (field_expression "parameters->target_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }" if (parenthesized_expression "(pTVar2->large_common_shndx == 0)" ( (binary_expression "pTVar2->large_common_shndx == 0" (field_expression "pTVar2->large_common_shndx" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");" (call_expression "do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags")" identifier (argument_list "("../../gold/target.h",0xd5,"large_common_section_flags")" ( (string_literal ""../../gold/target.h"" " string_content ") , number_literal , (string_literal ""large_common_section_flags"" " string_content ") ))) ;) })) (expression_statement "pcVar13 = "** large common";" (assignment_expression "pcVar13 = "** large common"" identifier = (string_literal ""** large common"" " string_content ")) ;) (expression_statement "pcVar12 = ".lbss";" (assignment_expression "pcVar12 = ".lbss"" identifier = (string_literal "".lbss"" " string_content ")) ;) (expression_statement "uVar7 = pTVar2->large_common_section_flags | 3;" (assignment_expression "uVar7 = pTVar2->large_common_section_flags | 3" identifier = (binary_expression "pTVar2->large_common_section_flags | 3" (field_expression "pTVar2->large_common_section_flags" identifier -> field_identifier) | number_literal)) ;) })))) }))) (ERROR "uVar5 = Parameters::" (assignment_expression "uVar5 = Parameters" identifier = identifier) : :) (expression_statement "incremental_update(parameters);" (call_expression "incremental_update(parameters)" identifier (argument_list "(parameters)" ( identifier ))) ;) (labeled_statement "joined_r0x00262324:\n  if ((bool)uVar5) {\n    posd = (Output_section *)0x0;\n    local_78 = Layout::find_output_section(layout,pcVar12);\n  }\n  else {\n    posd = (Output_section *)operator_new(0x40);\n    puVar1 = &(posd->super_Output_data).field_0x20;\n    *puVar1 = *puVar1 & 0xe0;\n    (posd->super_Output_data).address_ = 0;\n    (posd->super_Output_data).data_size_ = 0;\n    (posd->super_Output_data).offset_ = -1;\n    *(Output_section **)&posd->name_ = (Output_section *)0x0;\n    posd->addralign_ = (uint64_t)pGVar11;\n    (posd->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_003ec600;\n    posd->entsize_ = (uint64_t)pcVar13;\n    local_78 = Layout::add_output_section_data\n                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false);\n  }" statement_identifier : (if_statement "if ((bool)uVar5) {\n    posd = (Output_section *)0x0;\n    local_78 = Layout::find_output_section(layout,pcVar12);\n  }\n  else {\n    posd = (Output_section *)operator_new(0x40);\n    puVar1 = &(posd->super_Output_data).field_0x20;\n    *puVar1 = *puVar1 & 0xe0;\n    (posd->super_Output_data).address_ = 0;\n    (posd->super_Output_data).data_size_ = 0;\n    (posd->super_Output_data).offset_ = -1;\n    *(Output_section **)&posd->name_ = (Output_section *)0x0;\n    posd->addralign_ = (uint64_t)pGVar11;\n    (posd->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_003ec600;\n    posd->entsize_ = (uint64_t)pcVar13;\n    local_78 = Layout::add_output_section_data\n                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false);\n  }" if (parenthesized_expression "((bool)uVar5)" ( (cast_expression "(bool)uVar5" ( (type_descriptor "bool" primitive_type) ) identifier) )) (compound_statement "{\n    posd = (Output_section *)0x0;\n    local_78 = Layout::find_output_section(layout,pcVar12);\n  }" { (expression_statement "posd = (Output_section *)0x0;" (assignment_expression "posd = (Output_section *)0x0" identifier = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "local_78 = Layout::" (assignment_expression "local_78 = Layout" identifier = identifier) : :) (expression_statement "find_output_section(layout,pcVar12);" (call_expression "find_output_section(layout,pcVar12)" identifier (argument_list "(layout,pcVar12)" ( identifier , identifier ))) ;) }) (else_clause "else {\n    posd = (Output_section *)operator_new(0x40);\n    puVar1 = &(posd->super_Output_data).field_0x20;\n    *puVar1 = *puVar1 & 0xe0;\n    (posd->super_Output_data).address_ = 0;\n    (posd->super_Output_data).data_size_ = 0;\n    (posd->super_Output_data).offset_ = -1;\n    *(Output_section **)&posd->name_ = (Output_section *)0x0;\n    posd->addralign_ = (uint64_t)pGVar11;\n    (posd->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_003ec600;\n    posd->entsize_ = (uint64_t)pcVar13;\n    local_78 = Layout::add_output_section_data\n                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false);\n  }" else (compound_statement "{\n    posd = (Output_section *)operator_new(0x40);\n    puVar1 = &(posd->super_Output_data).field_0x20;\n    *puVar1 = *puVar1 & 0xe0;\n    (posd->super_Output_data).address_ = 0;\n    (posd->super_Output_data).data_size_ = 0;\n    (posd->super_Output_data).offset_ = -1;\n    *(Output_section **)&posd->name_ = (Output_section *)0x0;\n    posd->addralign_ = (uint64_t)pGVar11;\n    (posd->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_003ec600;\n    posd->entsize_ = (uint64_t)pcVar13;\n    local_78 = Layout::add_output_section_data\n                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false);\n  }" { (expression_statement "posd = (Output_section *)operator_new(0x40);" (assignment_expression "posd = (Output_section *)operator_new(0x40)" identifier = (cast_expression "(Output_section *)operator_new(0x40)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "puVar1 = &(posd->super_Output_data).field_0x20;" (assignment_expression "puVar1 = &(posd->super_Output_data).field_0x20" identifier = (pointer_expression "&(posd->super_Output_data).field_0x20" & (field_expression "(posd->super_Output_data).field_0x20" (parenthesized_expression "(posd->super_Output_data)" ( (field_expression "posd->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 & 0xe0;" (assignment_expression "*puVar1 = *puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) & number_literal)) ;) (expression_statement "(posd->super_Output_data).address_ = 0;" (assignment_expression "(posd->super_Output_data).address_ = 0" (field_expression "(posd->super_Output_data).address_" (parenthesized_expression "(posd->super_Output_data)" ( (field_expression "posd->super_Output_data" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(posd->super_Output_data).data_size_ = 0;" (assignment_expression "(posd->super_Output_data).data_size_ = 0" (field_expression "(posd->super_Output_data).data_size_" (parenthesized_expression "(posd->super_Output_data)" ( (field_expression "posd->super_Output_data" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(posd->super_Output_data).offset_ = -1;" (assignment_expression "(posd->super_Output_data).offset_ = -1" (field_expression "(posd->super_Output_data).offset_" (parenthesized_expression "(posd->super_Output_data)" ( (field_expression "posd->super_Output_data" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "*(Output_section **)&posd->name_ = (Output_section *)0x0;" (assignment_expression "*(Output_section **)&posd->name_ = (Output_section *)0x0" (pointer_expression "*(Output_section **)&posd->name_" * (cast_expression "(Output_section **)&posd->name_" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&posd->name_" & (field_expression "posd->name_" identifier -> field_identifier)))) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "posd->addralign_ = (uint64_t)pGVar11;" (assignment_expression "posd->addralign_ = (uint64_t)pGVar11" (field_expression "posd->addralign_" identifier -> field_identifier) = (cast_expression "(uint64_t)pGVar11" ( (type_descriptor "uint64_t" primitive_type) ) identifier)) ;) (expression_statement "(posd->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_003ec600;" (assignment_expression "(posd->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_003ec600" (field_expression "(posd->super_Output_data)._vptr_Output_data" (parenthesized_expression "(posd->super_Output_data)" ( (field_expression "posd->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Output_data_space_003ec600" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Output_data_space_003ec600" & identifier))) ;) (expression_statement "posd->entsize_ = (uint64_t)pcVar13;" (assignment_expression "posd->entsize_ = (uint64_t)pcVar13" (field_expression "posd->entsize_" identifier -> field_identifier) = (cast_expression "(uint64_t)pcVar13" ( (type_descriptor "uint64_t" primitive_type) ) identifier)) ;) (ERROR "local_78 = Layout::" (assignment_expression "local_78 = Layout" identifier = identifier) : :) (expression_statement "add_output_section_data\n                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false);" (call_expression "add_output_section_data\n                         (layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false)" identifier (argument_list "(layout,pcVar12,8,uVar7,(Output_section_data *)posd,ORDER_INVALID,false)" ( identifier , identifier , number_literal , identifier , (cast_expression "(Output_section_data *)posd" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , false ))) ;) })))) (if_statement "if (local_78 != (Output_section *)0x0) {\n    if (commons_section_type == COMMONS_SMALL) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;\n    }\n  }" if (parenthesized_expression "(local_78 != (Output_section *)0x0)" ( (binary_expression "local_78 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (commons_section_type == COMMONS_SMALL) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;\n    }\n  }" { (if_statement "if (commons_section_type == COMMONS_SMALL) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;\n    }" if (parenthesized_expression "(commons_section_type == COMMONS_SMALL)" ( (binary_expression "commons_section_type == COMMONS_SMALL" identifier == identifier) )) (compound_statement "{\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x40;\n    }" { (expression_statement "local_78->field_0xc9 = local_78->field_0xc9 | 0x40;" (assignment_expression "local_78->field_0xc9 = local_78->field_0xc9 | 0x40" (field_expression "local_78->field_0xc9" identifier -> field_identifier) = (binary_expression "local_78->field_0xc9 | 0x40" (field_expression "local_78->field_0xc9" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else if (commons_section_type == COMMONS_LARGE) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;\n    }" else (if_statement "if (commons_section_type == COMMONS_LARGE) {\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;\n    }" if (parenthesized_expression "(commons_section_type == COMMONS_LARGE)" ( (binary_expression "commons_section_type == COMMONS_LARGE" identifier == identifier) )) (compound_statement "{\n      local_78->field_0xc9 = local_78->field_0xc9 | 0x80;\n    }" { (expression_statement "local_78->field_0xc9 = local_78->field_0xc9 | 0x80;" (assignment_expression "local_78->field_0xc9 = local_78->field_0xc9 | 0x80" (field_expression "local_78->field_0xc9" identifier -> field_identifier) = (binary_expression "local_78->field_0xc9 | 0x80" (field_expression "local_78->field_0xc9" identifier -> field_identifier) | number_literal)) ;) })))) })) (expression_statement "ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_finish;" (assignment_expression "ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_finish" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;" (assignment_expression "ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((ppSVar14 == ppSVar10) ||\n     (this_01 = (Symbol_table *)*ppSVar14, this_01 == (Symbol_table *)0x0)) {\n    uVar7 = 0;\n    ppSVar8 = ppSVar10;\n  }\n  else {\n    uVar7 = 0;\n    do {\n      ppSVar14 = ppSVar14 + 1;\n      if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }\nLAB_002623f0:\n      ppSVar8 = ppSVar14;\n    } while ((ppSVar10 != ppSVar14) &&\n            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            ));\n  }" if (parenthesized_expression "((ppSVar14 == ppSVar10) ||\n     (this_01 = (Symbol_table *)*ppSVar14, this_01 == (Symbol_table *)0x0))" ( (binary_expression "(ppSVar14 == ppSVar10) ||\n     (this_01 = (Symbol_table *)*ppSVar14, this_01 == (Symbol_table *)0x0)" (parenthesized_expression "(ppSVar14 == ppSVar10)" ( (binary_expression "ppSVar14 == ppSVar10" identifier == identifier) )) || (parenthesized_expression "(this_01 = (Symbol_table *)*ppSVar14, this_01 == (Symbol_table *)0x0)" ( (comma_expression "this_01 = (Symbol_table *)*ppSVar14, this_01 == (Symbol_table *)0x0" (assignment_expression "this_01 = (Symbol_table *)*ppSVar14" identifier = (cast_expression "(Symbol_table *)*ppSVar14" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppSVar14" * identifier))) , (binary_expression "this_01 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    uVar7 = 0;\n    ppSVar8 = ppSVar10;\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "ppSVar8 = ppSVar10;" (assignment_expression "ppSVar8 = ppSVar10" identifier = identifier) ;) }) (else_clause "else {\n    uVar7 = 0;\n    do {\n      ppSVar14 = ppSVar14 + 1;\n      if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }\nLAB_002623f0:\n      ppSVar8 = ppSVar14;\n    } while ((ppSVar10 != ppSVar14) &&\n            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            ));\n  }" else (compound_statement "{\n    uVar7 = 0;\n    do {\n      ppSVar14 = ppSVar14 + 1;\n      if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }\nLAB_002623f0:\n      ppSVar8 = ppSVar14;\n    } while ((ppSVar10 != ppSVar14) &&\n            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            ));\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n      ppSVar14 = ppSVar14 + 1;\n      if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }\nLAB_002623f0:\n      ppSVar8 = ppSVar14;\n    } while ((ppSVar10 != ppSVar14) &&\n            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            ));" do (compound_statement "{\n      ppSVar14 = ppSVar14 + 1;\n      if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }\nLAB_002623f0:\n      ppSVar8 = ppSVar14;\n    }" { (expression_statement "ppSVar14 = ppSVar14 + 1;" (assignment_expression "ppSVar14 = ppSVar14 + 1" identifier = (binary_expression "ppSVar14 + 1" identifier + number_literal)) ;) (if_statement "if ((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }" if (parenthesized_expression "((((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0))" ( (binary_expression "(((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0) &&\n         (((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)" (parenthesized_expression "(((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0)" ( (binary_expression "((this_01->table_)._M_h._M_bucket_count & 0x70000) == 0" (parenthesized_expression "((this_01->table_)._M_h._M_bucket_count & 0x70000)" ( (binary_expression "(this_01->table_)._M_h._M_bucket_count & 0x70000" (field_expression "(this_01->table_)._M_h._M_bucket_count" (field_expression "(this_01->table_)._M_h" (parenthesized_expression "(this_01->table_)" ( (field_expression "this_01->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0)" ( (binary_expression "((this_01->table_)._M_h._M_bucket_count & 0x20000000) == 0" (parenthesized_expression "((this_01->table_)._M_h._M_bucket_count & 0x20000000)" ( (binary_expression "(this_01->table_)._M_h._M_bucket_count & 0x20000000" (field_expression "(this_01->table_)._M_h._M_bucket_count" (field_expression "(this_01->table_)._M_h" (parenthesized_expression "(this_01->table_)" ( (field_expression "this_01->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        bVar6 = Symbol::is_common_shndx(this_01->output_count_);\n        if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }\n        ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;\n      }" { (ERROR "bVar6 = Symbol::" (assignment_expression "bVar6 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx(this_01->output_count_);" (call_expression "is_common_shndx(this_01->output_count_)" identifier (argument_list "(this_01->output_count_)" ( (field_expression "this_01->output_count_" identifier -> field_identifier) ))) ;) (if_statement "if (bVar6) {\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n          pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }\n          addralign = (ulong)pSVar9->value_;\n          if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }\n          uVar7 = Output_section::allocate(local_78,(ulong)pSVar9->symsize_,addralign);\n          if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }\n          pcVar12 = (char *)local_78;\n          Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);\n        }" { (expression_statement "pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12);" (assignment_expression "pSVar9 = get_sized_symbol<32>(this_01,(Symbol *)pcVar12)" identifier = (binary_expression "get_sized_symbol<32>(this_01,(Symbol *)pcVar12)" (binary_expression "get_sized_symbol<32" identifier < number_literal) > (parenthesized_expression "(this_01,(Symbol *)pcVar12)" ( (comma_expression "this_01,(Symbol *)pcVar12" identifier , (cast_expression "(Symbol *)pcVar12" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }" if (parenthesized_expression "(mapfile != (Mapfile *)0x0)" ( (binary_expression "mapfile != (Mapfile *)0x0" identifier != (cast_expression "(Mapfile *)0x0" ( (type_descriptor "Mapfile *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);\n          }" { (labeled_statement "Mapfile::report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);" statement_identifier : (ERROR ":" :) (expression_statement "report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_);" (call_expression "report_allocate_common(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_)" identifier (argument_list "(mapfile,(Symbol *)this_01,(ulong)pSVar9->symsize_)" ( identifier , (cast_expression "(Symbol *)this_01" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(ulong)pSVar9->symsize_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pSVar9->symsize_" identifier -> field_identifier)) ))) ;)) })) (expression_statement "addralign = (ulong)pSVar9->value_;" (assignment_expression "addralign = (ulong)pSVar9->value_" identifier = (cast_expression "(ulong)pSVar9->value_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pSVar9->value_" identifier -> field_identifier))) ;) (if_statement "if (posd != (Output_section *)0x0) {\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }" if (parenthesized_expression "(posd != (Output_section *)0x0)" ( (binary_expression "posd != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }\n            pcVar12 = (char *)posd;\n            Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);\n            ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;\n            uVar7 = uVar7 + pSVar9->symsize_;\n            goto LAB_002623f0;\n          }" { (if_statement "if (addralign != 0) {\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }" if (parenthesized_expression "(addralign != 0)" ( (binary_expression "addralign != 0" identifier != number_literal) )) (compound_statement "{\n              uVar7 = uVar7 + (addralign - 1) & -addralign;\n            }" { (expression_statement "uVar7 = uVar7 + (addralign - 1) & -addralign;" (assignment_expression "uVar7 = uVar7 + (addralign - 1) & -addralign" identifier = (binary_expression "uVar7 + (addralign - 1) & -addralign" (binary_expression "uVar7 + (addralign - 1)" identifier + (parenthesized_expression "(addralign - 1)" ( (binary_expression "addralign - 1" identifier - number_literal) ))) & (unary_expression "-addralign" - identifier))) ;) })) (expression_statement "pcVar12 = (char *)posd;" (assignment_expression "pcVar12 = (char *)posd" identifier = (cast_expression "(char *)posd" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7);" (binary_expression "Sized_symbol<32>::allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7)" (binary_expression "Sized_symbol<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "allocate_common(pSVar9,&posd->super_Output_data,(Value_type)uVar7)" identifier (argument_list "(pSVar9,&posd->super_Output_data,(Value_type)uVar7)" ( identifier , (pointer_expression "&posd->super_Output_data" & (field_expression "posd->super_Output_data" identifier -> field_identifier)) , (cast_expression "(Value_type)uVar7" ( (type_descriptor "Value_type" type_identifier) ) identifier) )))) ;) (expression_statement "ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish;" (assignment_expression "ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl._M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                       _M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar7 = uVar7 + pSVar9->symsize_;" (assignment_expression "uVar7 = uVar7 + pSVar9->symsize_" identifier = (binary_expression "uVar7 + pSVar9->symsize_" identifier + (field_expression "pSVar9->symsize_" identifier -> field_identifier))) ;) (goto_statement "goto LAB_002623f0;" goto statement_identifier ;) })) (ERROR "uVar7 = Output_section::" (assignment_expression "uVar7 = Output_section" identifier = identifier) : :) (expression_statement "allocate(local_78,(ulong)pSVar9->symsize_,addralign);" (call_expression "allocate(local_78,(ulong)pSVar9->symsize_,addralign)" identifier (argument_list "(local_78,(ulong)pSVar9->symsize_,addralign)" ( identifier , (cast_expression "(ulong)pSVar9->symsize_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pSVar9->symsize_" identifier -> field_identifier)) , identifier ))) ;) (if_statement "if (uVar7 == 0xffffffffffffffff) {\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }" if (parenthesized_expression "(uVar7 == 0xffffffffffffffff)" ( (binary_expression "uVar7 == 0xffffffffffffffff" identifier == number_literal) )) (compound_statement "{\n            pcVar12 = local_78->name_;\n            pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar13,pcVar12);\n          }" { (expression_statement "pcVar12 = local_78->name_;" (assignment_expression "pcVar12 = local_78->name_" identifier = (field_expression "local_78->name_" identifier -> field_identifier)) ;) (expression_statement "pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     );" (assignment_expression "pcVar13 = (char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     )" identifier = (cast_expression "(char *)gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     )" identifier (argument_list "(\n                                     "out of patch space in section %s; relink with --incremental-full"\n                                     )" ( (string_literal ""out of patch space in section %s; relink with --incremental-full"" " string_content ") ))))) ;) comment (expression_statement "gold_fallback(pcVar13,pcVar12);" (call_expression "gold_fallback(pcVar13,pcVar12)" identifier (argument_list "(pcVar13,pcVar12)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar12 = (char *)local_78;" (assignment_expression "pcVar12 = (char *)local_78" identifier = (cast_expression "(char *)local_78" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7);" (binary_expression "Sized_symbol<32>::allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7)" (binary_expression "Sized_symbol<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "allocate_common(pSVar9,&local_78->super_Output_data,(Value_type)uVar7)" identifier (argument_list "(pSVar9,&local_78->super_Output_data,(Value_type)uVar7)" ( identifier , (pointer_expression "&local_78->super_Output_data" & (field_expression "local_78->super_Output_data" identifier -> field_identifier)) , (cast_expression "(Value_type)uVar7" ( (type_descriptor "Value_type" type_identifier) ) identifier) )))) ;) })) (expression_statement "ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish;" (assignment_expression "ppSVar10 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) })) (labeled_statement "LAB_002623f0:\n      ppSVar8 = ppSVar14;" statement_identifier : (expression_statement "ppSVar8 = ppSVar14;" (assignment_expression "ppSVar8 = ppSVar14" identifier = identifier) ;)) }) while (parenthesized_expression "((ppSVar10 != ppSVar14) &&\n            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            ))" ( (binary_expression "(ppSVar10 != ppSVar14) &&\n            (this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            )" (parenthesized_expression "(ppSVar10 != ppSVar14)" ( (binary_expression "ppSVar10 != ppSVar14" identifier != identifier) )) && (parenthesized_expression "(this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0\n            )" ( (comma_expression "this_01 = (Symbol_table *)*ppSVar14, ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0" (assignment_expression "this_01 = (Symbol_table *)*ppSVar14" identifier = (cast_expression "(Symbol_table *)*ppSVar14" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppSVar14" * identifier))) , (comma_expression "ppSVar8 = ppSVar10, this_01 != (Symbol_table *)0x0" (assignment_expression "ppSVar8 = ppSVar10" identifier = identifier) , (binary_expression "this_01 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) ;) }))) (if_statement "if (posd != (Output_section *)0x0) {\n    if (((posd->super_Output_data).field_0x20 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (posd->super_Output_data).data_size_ = uVar7;\n  }" if (parenthesized_expression "(posd != (Output_section *)0x0)" ( (binary_expression "posd != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (((posd->super_Output_data).field_0x20 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (posd->super_Output_data).data_size_ = uVar7;\n  }" { (if_statement "if (((posd->super_Output_data).field_0x20 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" if (parenthesized_expression "(((posd->super_Output_data).field_0x20 & 2) != 0)" ( (binary_expression "((posd->super_Output_data).field_0x20 & 2) != 0" (parenthesized_expression "((posd->super_Output_data).field_0x20 & 2)" ( (binary_expression "(posd->super_Output_data).field_0x20 & 2" (field_expression "(posd->super_Output_data).field_0x20" (parenthesized_expression "(posd->super_Output_data)" ( (field_expression "posd->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;) })) (expression_statement "(posd->super_Output_data).data_size_ = uVar7;" (assignment_expression "(posd->super_Output_data).data_size_ = uVar7" (field_expression "(posd->super_Output_data).data_size_" (parenthesized_expression "(posd->super_Output_data)" ( (field_expression "posd->super_Output_data" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (expression_statement "ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;" (assignment_expression "ppSVar14 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (ppSVar14 != ppSVar8) {\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar14;\n  }" if (parenthesized_expression "(ppSVar14 != ppSVar8)" ( (binary_expression "ppSVar14 != ppSVar8" identifier != identifier) )) (compound_statement "{\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar14;\n  }" { (expression_statement "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar14;" (assignment_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar14" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) = identifier) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00262080(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  char cVar3;\n  long lVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long *plVar7;\n  undefined8 *puVar8;\n  long lVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  ulong uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long *plVar15;\n  long local_78;\n  ulong uStack_48;\n  \n  if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }\n  uVar12 = 0;\n  plVar15 = (long *)*param_4;\n  cVar3 = '\0';\n  do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);\nLAB_00262138:\n  plVar11 = plVar11 + 1;\n  if (cVar2 == '\0') {\n    return;\n  }\n  uVar6 = (ulong)param_6;\n  plVar15 = (long *)*param_4;\n  if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }\n  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);\njoined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }\n  if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }\n  plVar11 = (long *)param_4[1];\n  plVar15 = (long *)*param_4;\n  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }\n  if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }\n  if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00262080(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  char cVar3;\n  long lVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long *plVar7;\n  undefined8 *puVar8;\n  long lVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  ulong uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long *plVar15;\n  long local_78;\n  ulong uStack_48;\n  \n  if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }\n  uVar12 = 0;\n  plVar15 = (long *)*param_4;\n  cVar3 = '\0';\n  do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);\nLAB_00262138:\n  plVar11 = plVar11 + 1;\n  if (cVar2 == '\0') {\n    return;\n  }\n  uVar6 = (ulong)param_6;\n  plVar15 = (long *)*param_4;\n  if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }\n  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);\njoined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }\n  if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }\n  plVar11 = (long *)param_4[1];\n  plVar15 = (long *)*param_4;\n  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }\n  if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }\n  if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00262080(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "long *param_4" (sized_type_specifier "long" long) (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  char cVar2;\n  char cVar3;\n  long lVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long *plVar7;\n  undefined8 *puVar8;\n  long lVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  ulong uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long *plVar15;\n  long local_78;\n  ulong uStack_48;\n  \n  if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }\n  uVar12 = 0;\n  plVar15 = (long *)*param_4;\n  cVar3 = '\0';\n  do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);\nLAB_00262138:\n  plVar11 = plVar11 + 1;\n  if (cVar2 == '\0') {\n    return;\n  }\n  uVar6 = (ulong)param_6;\n  plVar15 = (long *)*param_4;\n  if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }\n  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);\njoined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }\n  if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }\n  plVar11 = (long *)param_4[1];\n  plVar15 = (long *)*param_4;\n  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }\n  if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }\n  if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "long *plVar7;" (sized_type_specifier "long" long) (pointer_declarator "*plVar7" * identifier) ;) (declaration "undefined8 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "long *plVar11;" (sized_type_specifier "long" long) (pointer_declarator "*plVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "long *plVar15;" (sized_type_specifier "long" long) (pointer_declarator "*plVar15" * identifier) ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uStack_48;" type_identifier identifier ;) (if_statement "if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }" if (parenthesized_expression "((long *)*param_4 == (long *)param_4[1])" ( (binary_expression "(long *)*param_4 == (long *)param_4[1]" (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier)) == (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "plVar15 = (long *)*param_4;" (assignment_expression "plVar15 = (long *)*param_4" identifier = (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (do_statement "do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);" do (compound_statement "{\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  }" { (while_statement "while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }" { (expression_statement "plVar11 = plVar15;" (assignment_expression "plVar11 = plVar15" identifier = identifier) ;) (expression_statement "lVar4 = *plVar11;" (assignment_expression "lVar4 = *plVar11" identifier = (pointer_expression "*plVar11" * identifier)) ;) (if_statement "if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }" if (parenthesized_expression "((*(byte *)(lVar4 + 0x3a) & 0x10) != 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3a) & 0x10)" ( (binary_expression "*(byte *)(lVar4 + 0x3a) & 0x10" (pointer_expression "*(byte *)(lVar4 + 0x3a)" * (cast_expression "(byte *)(lVar4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3a)" ( (binary_expression "lVar4 + 0x3a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }" { (expression_statement "lVar4 = FUN_0024aed0(param_1,lVar4);" (assignment_expression "lVar4 = FUN_0024aed0(param_1,lVar4)" identifier = (call_expression "FUN_0024aed0(param_1,lVar4)" identifier (argument_list "(param_1,lVar4)" ( identifier , identifier )))) ;) (expression_statement "*plVar11 = lVar4;" (assignment_expression "*plVar11 = lVar4" (pointer_expression "*plVar11" * identifier) = identifier) ;) })) (if_statement "if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;" if (parenthesized_expression "((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0'))" ( (binary_expression "(((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')" (parenthesized_expression "(((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0))" ( (binary_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar4 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar4 + 0x3a)" * (cast_expression "(byte *)(lVar4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3a)" ( (binary_expression "lVar4 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar4 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar4 + 0x3b)" * (cast_expression "(byte *)(lVar4 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3b)" ( (binary_expression "lVar4 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')" ( (comma_expression "cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0'" (assignment_expression "cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" identifier = (call_expression "FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" identifier (argument_list "(*(undefined4 *)(lVar4 + 0x18))" ( (pointer_expression "*(undefined4 *)(lVar4 + 0x18)" * (cast_expression "(undefined4 *)(lVar4 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x18)" ( (binary_expression "lVar4 + 0x18" identifier + number_literal) )))) )))) , (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (break_statement "break;" break ;)) (expression_statement "*plVar11 = 0;" (assignment_expression "*plVar11 = 0" (pointer_expression "*plVar11" * identifier) = number_literal) ;) (expression_statement "plVar15 = plVar11 + 1;" (assignment_expression "plVar15 = plVar11 + 1" identifier = (binary_expression "plVar11 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = cVar3;" (assignment_expression "cVar2 = cVar3" identifier = identifier) ;) (if_statement "if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;" if (parenthesized_expression "((long *)param_4[1] == plVar11 + 1)" ( (binary_expression "(long *)param_4[1] == plVar11 + 1" (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) == (binary_expression "plVar11 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_00262138;" goto statement_identifier ;)) })) (expression_statement "lVar4 = FUN_00261690(lVar4);" (assignment_expression "lVar4 = FUN_00261690(lVar4)" identifier = (call_expression "FUN_00261690(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) (if_statement "if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }" if (parenthesized_expression "(uVar12 < *(uint *)(lVar4 + 0x40))" ( (binary_expression "uVar12 < *(uint *)(lVar4 + 0x40)" identifier < (pointer_expression "*(uint *)(lVar4 + 0x40)" * (cast_expression "(uint *)(lVar4 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x40)" ( (binary_expression "lVar4 + 0x40" identifier + number_literal) ))))) )) (compound_statement "{\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }" { (expression_statement "uVar12 = (ulong)*(uint *)(lVar4 + 0x40);" (assignment_expression "uVar12 = (ulong)*(uint *)(lVar4 + 0x40)" identifier = (binary_expression "(ulong)*(uint *)(lVar4 + 0x40)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar4 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x40)" ( (binary_expression "lVar4 + 0x40" identifier + number_literal) ))))) ;) })) (expression_statement "plVar15 = plVar11 + 1;" (assignment_expression "plVar15 = plVar11 + 1" identifier = (binary_expression "plVar11 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = cVar2;" (assignment_expression "cVar3 = cVar2" identifier = identifier) ;) }) while (parenthesized_expression "((long *)param_4[1] != plVar11 + 1)" ( (binary_expression "(long *)param_4[1] != plVar11 + 1" (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) != (binary_expression "plVar11 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_00262138:\n  plVar11 = plVar11 + 1;" statement_identifier : (expression_statement "plVar11 = plVar11 + 1;" (assignment_expression "plVar11 = plVar11 + 1" identifier = (binary_expression "plVar11 + 1" identifier + number_literal)) ;)) (if_statement "if (cVar2 == '\0') {\n    return;\n  }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar6 = (ulong)param_6;" (assignment_expression "uVar6 = (ulong)param_6" identifier = (cast_expression "(ulong)param_6" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "plVar15 = (long *)*param_4;" (assignment_expression "plVar15 = (long *)*param_4" identifier = (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (if_statement "if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }" if (parenthesized_expression "(plVar11 == plVar15)" ( (binary_expression "plVar11 == plVar15" identifier == identifier) )) (compound_statement "{\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }" { (labeled_statement "LAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;" statement_identifier : (if_statement "if (param_3 != 1) goto LAB_00262229;" if (parenthesized_expression "(param_3 != 1)" ( (binary_expression "param_3 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00262229;" goto statement_identifier ;))) (labeled_statement "LAB_00262453:\n    pcVar14 = "** tls common";" statement_identifier : (expression_statement "pcVar14 = "** tls common";" (assignment_expression "pcVar14 = "** tls common"" identifier = (string_literal ""** tls common"" " string_content ")) ;)) (expression_statement "pcVar13 = ".tbss";" (assignment_expression "pcVar13 = ".tbss"" identifier = (string_literal "".tbss"" " string_content ")) ;) (expression_statement "uVar6 = 0x403;" (assignment_expression "uVar6 = 0x403" identifier = number_literal) ;) }) (else_clause "else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }" else (compound_statement "{\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }" { (expression_statement "uVar5 = (long)plVar11 - (long)plVar15 >> 3;" (assignment_expression "uVar5 = (long)plVar11 - (long)plVar15 >> 3" identifier = (binary_expression "(long)plVar11 - (long)plVar15 >> 3" (binary_expression "(long)plVar11 - (long)plVar15" (cast_expression "(long)plVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)plVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal)) ;) (expression_statement "lVar4 = 0x3f;" (assignment_expression "lVar4 = 0x3f" identifier = number_literal) ;) (if_statement "if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }" { (for_statement "for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }" for ( ; (binary_expression "uVar5 >> lVar4 == 0" (binary_expression "uVar5 >> lVar4" identifier >> identifier) == number_literal) ; (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ) (compound_statement "{\n      }" { })) })) (expression_statement "FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);" (call_expression "FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6)" identifier (argument_list "(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6)" ( identifier , identifier , (binary_expression "(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2" (parenthesized_expression "(0x3f - (long)(int)((uint)lVar4 ^ 0x3f))" ( (binary_expression "0x3f - (long)(int)((uint)lVar4 ^ 0x3f)" number_literal - (cast_expression "(long)(int)((uint)lVar4 ^ 0x3f)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)((uint)lVar4 ^ 0x3f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)lVar4 ^ 0x3f)" ( (binary_expression "(uint)lVar4 ^ 0x3f" (cast_expression "(uint)lVar4" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) ))))) )) * number_literal) , identifier , identifier ))) ;) (if_statement "if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }" if (parenthesized_expression "(0x80 < (long)plVar11 - (long)plVar15)" ( (binary_expression "0x80 < (long)plVar11 - (long)plVar15" number_literal < (binary_expression "(long)plVar11 - (long)plVar15" (cast_expression "(long)plVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)plVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )) (compound_statement "{\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }" { (expression_statement "plVar7 = plVar15 + 0x10;" (assignment_expression "plVar7 = plVar15 + 0x10" identifier = (binary_expression "plVar15 + 0x10" identifier + number_literal)) ;) (expression_statement "FUN_00261990(plVar15,plVar7,param_1,uVar6);" (call_expression "FUN_00261990(plVar15,plVar7,param_1,uVar6)" identifier (argument_list "(plVar15,plVar7,param_1,uVar6)" ( identifier , identifier , identifier , identifier ))) ;) (for_statement "for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }" for ( ; (binary_expression "plVar11 != plVar7" identifier != identifier) ; (assignment_expression "plVar7 = plVar7 + 1" identifier = (binary_expression "plVar7 + 1" identifier + number_literal)) ) (compound_statement "{\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }" { (expression_statement "uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;" (assignment_expression "uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6" identifier = (binary_expression "uStack_48 & 0xffffffff00000000 | uVar6" (binary_expression "uStack_48 & 0xffffffff00000000" identifier & number_literal) | identifier)) ;) (expression_statement "FUN_00261940(plVar7,param_1,uStack_48);" (call_expression "FUN_00261940(plVar7,param_1,uStack_48)" identifier (argument_list "(plVar7,param_1,uStack_48)" ( identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_0026221c;" goto statement_identifier ;) })) (expression_statement "FUN_00261990(plVar15,plVar11,param_1,uVar6);" (call_expression "FUN_00261990(plVar15,plVar11,param_1,uVar6)" identifier (argument_list "(plVar15,plVar11,param_1,uVar6)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (param_3 == 1) goto LAB_00262453;" if (parenthesized_expression "(param_3 == 1)" ( (binary_expression "param_3 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00262453;" goto statement_identifier ;)) (labeled_statement "LAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" statement_identifier : (if_statement "if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }" { (expression_statement "pcVar14 = "** common";" (assignment_expression "pcVar14 = "** common"" identifier = (string_literal ""** common"" " string_content ")) ;) (expression_statement "pcVar13 = ".bss";" (assignment_expression "pcVar13 = ".bss"" identifier = (string_literal "".bss"" " string_content ")) ;) (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" identifier = number_literal) ;) }) (else_clause "else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" else (compound_statement "{\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" { (if_statement "if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }" { (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" if (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" { (labeled_statement "LAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");" statement_identifier : (expression_statement "FUN_00199900("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;)) })) (expression_statement "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);" (assignment_expression "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" identifier = (pointer_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }" if (parenthesized_expression "(*(short *)(lVar4 + 0x48) == 0)" ( (binary_expression "*(short *)(lVar4 + 0x48) == 0" (pointer_expression "*(short *)(lVar4 + 0x48)" * (cast_expression "(short *)(lVar4 + 0x48)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }" { (expression_statement "FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");" (call_expression "FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags")" identifier (argument_list "("../../gold/target.h",0xc5,"small_common_section_flags")" ( (string_literal ""../../gold/target.h"" " string_content ") , number_literal , (string_literal ""small_common_section_flags"" " string_content ") ))) ;) })) (expression_statement "pcVar14 = "** small common";" (assignment_expression "pcVar14 = "** small common"" identifier = (string_literal ""** small common"" " string_content ")) ;) (expression_statement "pcVar13 = ".sbss";" (assignment_expression "pcVar13 = ".sbss"" identifier = (string_literal "".sbss"" " string_content ")) ;) (expression_statement "uVar6 = *(ulong *)(lVar4 + 0x50) | 3;" (assignment_expression "uVar6 = *(ulong *)(lVar4 + 0x50) | 3" identifier = (binary_expression "*(ulong *)(lVar4 + 0x50) | 3" (pointer_expression "*(ulong *)(lVar4 + 0x50)" * (cast_expression "(ulong *)(lVar4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x50)" ( (binary_expression "lVar4 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "cVar3 = FUN_0021a540();" (assignment_expression "cVar3 = FUN_0021a540()" identifier = (call_expression "FUN_0021a540()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto joined_r0x00262324;" goto statement_identifier ;) })) (if_statement "if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }" if (parenthesized_expression "(param_3 != 3)" ( (binary_expression "param_3 != 3" identifier != number_literal) )) (compound_statement "{\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }" { (expression_statement "FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");" (call_expression "FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list")" identifier (argument_list "("../../gold/common.cc",0x11b,"do_allocate_commons_list")" ( (string_literal ""../../gold/common.cc"" " string_content ") , number_literal , (string_literal ""do_allocate_commons_list"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;" if (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00262560;" goto statement_identifier ;)) (expression_statement "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);" (assignment_expression "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" identifier = (pointer_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }" if (parenthesized_expression "(*(short *)(lVar4 + 0x4a) == 0)" ( (binary_expression "*(short *)(lVar4 + 0x4a) == 0" (pointer_expression "*(short *)(lVar4 + 0x4a)" * (cast_expression "(short *)(lVar4 + 0x4a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x4a)" ( (binary_expression "lVar4 + 0x4a" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }" { (expression_statement "FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");" (call_expression "FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags")" identifier (argument_list "("../../gold/target.h",0xd5,"large_common_section_flags")" ( (string_literal ""../../gold/target.h"" " string_content ") , number_literal , (string_literal ""large_common_section_flags"" " string_content ") ))) ;) })) (expression_statement "pcVar14 = "** large common";" (assignment_expression "pcVar14 = "** large common"" identifier = (string_literal ""** large common"" " string_content ")) ;) (expression_statement "pcVar13 = ".lbss";" (assignment_expression "pcVar13 = ".lbss"" identifier = (string_literal "".lbss"" " string_content ")) ;) (expression_statement "uVar6 = *(ulong *)(lVar4 + 0x58) | 3;" (assignment_expression "uVar6 = *(ulong *)(lVar4 + 0x58) | 3" identifier = (binary_expression "*(ulong *)(lVar4 + 0x58) | 3" (pointer_expression "*(ulong *)(lVar4 + 0x58)" * (cast_expression "(ulong *)(lVar4 + 0x58)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x58)" ( (binary_expression "lVar4 + 0x58" identifier + number_literal) )))) | number_literal)) ;) })))) }))) (expression_statement "cVar3 = FUN_0021a540(PTR_DAT_003f85c0);" (assignment_expression "cVar3 = FUN_0021a540(PTR_DAT_003f85c0)" identifier = (call_expression "FUN_0021a540(PTR_DAT_003f85c0)" identifier (argument_list "(PTR_DAT_003f85c0)" ( identifier )))) ;) (labeled_statement "joined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" statement_identifier : (if_statement "if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }" { (expression_statement "puVar8 = (undefined8 *)FUN_002a11b0(0x40);" (assignment_expression "puVar8 = (undefined8 *)FUN_002a11b0(0x40)" identifier = (cast_expression "(undefined8 *)FUN_002a11b0(0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002a11b0(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "*(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;" (assignment_expression "*(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(puVar8 + 4)" * (cast_expression "(byte *)(puVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(puVar8 + 4)" * (cast_expression "(byte *)(puVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar8[1] = 0;" (assignment_expression "puVar8[1] = 0" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[2] = 0;" (assignment_expression "puVar8[2] = 0" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xffffffffffffffff;" (assignment_expression "puVar8[3] = 0xffffffffffffffff" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[5] = 0;" (assignment_expression "puVar8[5] = 0" (subscript_expression "puVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[6] = uVar12;" (assignment_expression "puVar8[6] = uVar12" (subscript_expression "puVar8[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar8 = &PTR_FUN_003ec600;" (assignment_expression "*puVar8 = &PTR_FUN_003ec600" (pointer_expression "*puVar8" * identifier) = (pointer_expression "&PTR_FUN_003ec600" & identifier)) ;) (expression_statement "puVar8[7] = pcVar14;" (assignment_expression "puVar8[7] = pcVar14" (subscript_expression "puVar8[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);" (assignment_expression "local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0)" identifier = (call_expression "FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0)" identifier (argument_list "(param_2,pcVar13,8,uVar6,puVar8,0,0)" ( identifier , identifier , number_literal , identifier , identifier , number_literal , number_literal )))) ;) }) (else_clause "else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" else (compound_statement "{\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" { (expression_statement "puVar8 = (undefined8 *)0x0;" (assignment_expression "puVar8 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = FUN_001b3d50(param_2,pcVar13);" (assignment_expression "local_78 = FUN_001b3d50(param_2,pcVar13)" identifier = (call_expression "FUN_001b3d50(param_2,pcVar13)" identifier (argument_list "(param_2,pcVar13)" ( identifier , identifier )))) ;) })))) (if_statement "if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }" if (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) )) (compound_statement "{\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }" { (if_statement "if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }" { (expression_statement "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;" (assignment_expression "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40" (pointer_expression "*(byte *)(local_78 + 0xc9)" * (cast_expression "(byte *)(local_78 + 0xc9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0xc9)" ( (binary_expression "local_78 + 0xc9" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_78 + 0xc9) | 0x40" (pointer_expression "*(byte *)(local_78 + 0xc9)" * (cast_expression "(byte *)(local_78 + 0xc9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0xc9)" ( (binary_expression "local_78 + 0xc9" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" else (if_statement "if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" if (parenthesized_expression "(param_3 == 3)" ( (binary_expression "param_3 == 3" identifier == number_literal) )) (compound_statement "{\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" { (expression_statement "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;" (assignment_expression "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80" (pointer_expression "*(byte *)(local_78 + 0xc9)" * (cast_expression "(byte *)(local_78 + 0xc9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0xc9)" ( (binary_expression "local_78 + 0xc9" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_78 + 0xc9) | 0x80" (pointer_expression "*(byte *)(local_78 + 0xc9)" * (cast_expression "(byte *)(local_78 + 0xc9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0xc9)" ( (binary_expression "local_78 + 0xc9" identifier + number_literal) )))) | number_literal)) ;) })))) })) (expression_statement "plVar11 = (long *)param_4[1];" (assignment_expression "plVar11 = (long *)param_4[1]" identifier = (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) (expression_statement "plVar15 = (long *)*param_4;" (assignment_expression "plVar15 = (long *)*param_4" identifier = (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (if_statement "if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }" if (parenthesized_expression "((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0))" ( (binary_expression "(plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)" (parenthesized_expression "(plVar15 == plVar11)" ( (binary_expression "plVar15 == plVar11" identifier == identifier) )) || (parenthesized_expression "(lVar4 = *plVar15, lVar4 == 0)" ( (comma_expression "lVar4 = *plVar15, lVar4 == 0" (assignment_expression "lVar4 = *plVar15" identifier = (pointer_expression "*plVar15" * identifier)) , (binary_expression "lVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "plVar7 = plVar11;" (assignment_expression "plVar7 = plVar11" identifier = identifier) ;) }) (else_clause "else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }" else (compound_statement "{\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));" do (compound_statement "{\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    }" { (expression_statement "plVar15 = plVar15 + 1;" (assignment_expression "plVar15 = plVar15 + 1" identifier = (binary_expression "plVar15 + 1" identifier + number_literal)) ;) (if_statement "if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }" if (parenthesized_expression "(((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0))" ( (binary_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar4 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar4 + 0x3a)" * (cast_expression "(byte *)(lVar4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3a)" ( (binary_expression "lVar4 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar4 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar4 + 0x3b)" * (cast_expression "(byte *)(lVar4 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x3b)" ( (binary_expression "lVar4 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }" { (expression_statement "cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));" (assignment_expression "cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" identifier = (call_expression "FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" identifier (argument_list "(*(undefined4 *)(lVar4 + 0x18))" ( (pointer_expression "*(undefined4 *)(lVar4 + 0x18)" * (cast_expression "(undefined4 *)(lVar4 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x18)" ( (binary_expression "lVar4 + 0x18" identifier + number_literal) )))) )))) ;) (if_statement "if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }" { (expression_statement "lVar9 = FUN_00261690(lVar4);" (assignment_expression "lVar9 = FUN_00261690(lVar4)" identifier = (call_expression "FUN_00261690(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) (if_statement "if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }" { (expression_statement "FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));" (call_expression "FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44))" identifier (argument_list "(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(lVar9 + 0x44)" * (cast_expression "(undefined4 *)(lVar9 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x44)" ( (binary_expression "lVar9 + 0x44" identifier + number_literal) )))) ))) ;) })) (expression_statement "uVar6 = (ulong)*(uint *)(lVar9 + 0x40);" (assignment_expression "uVar6 = (ulong)*(uint *)(lVar9 + 0x40)" identifier = (binary_expression "(ulong)*(uint *)(lVar9 + 0x40)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar9 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x40)" ( (binary_expression "lVar9 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }" if (parenthesized_expression "(puVar8 != (undefined8 *)0x0)" ( (binary_expression "puVar8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }" { (if_statement "if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }" { (expression_statement "uVar12 = (uVar12 - 1) + uVar6 & -uVar6;" (assignment_expression "uVar12 = (uVar12 - 1) + uVar6 & -uVar6" identifier = (binary_expression "(uVar12 - 1) + uVar6 & -uVar6" (binary_expression "(uVar12 - 1) + uVar6" (parenthesized_expression "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) )) + identifier) & (unary_expression "-uVar6" - identifier))) ;) })) (expression_statement "FUN_0024dec0(lVar9,puVar8,uVar12);" (call_expression "FUN_0024dec0(lVar9,puVar8,uVar12)" identifier (argument_list "(lVar9,puVar8,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "plVar11 = (long *)param_4[1];" (assignment_expression "plVar11 = (long *)param_4[1]" identifier = (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);" (assignment_expression "uVar12 = uVar12 + *(uint *)(lVar9 + 0x44)" identifier = (binary_expression "uVar12 + *(uint *)(lVar9 + 0x44)" identifier + (pointer_expression "*(uint *)(lVar9 + 0x44)" * (cast_expression "(uint *)(lVar9 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x44)" ( (binary_expression "lVar9 + 0x44" identifier + number_literal) )))))) ;) (goto_statement "goto LAB_002623f0;" goto statement_identifier ;) })) (expression_statement "uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);" (assignment_expression "uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6)" identifier = (call_expression "FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6)" identifier (argument_list "(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6)" ( identifier , (pointer_expression "*(undefined4 *)(lVar9 + 0x44)" * (cast_expression "(undefined4 *)(lVar9 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x44)" ( (binary_expression "lVar9 + 0x44" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }" if (parenthesized_expression "(uVar12 == 0xffffffffffffffff)" ( (binary_expression "uVar12 == 0xffffffffffffffff" identifier == number_literal) )) (compound_statement "{\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }" { (expression_statement "uVar1 = *(undefined8 *)(local_78 + 0x28);" (assignment_expression "uVar1 = *(undefined8 *)(local_78 + 0x28)" identifier = (pointer_expression "*(undefined8 *)(local_78 + 0x28)" * (cast_expression "(undefined8 *)(local_78 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 0x28)" ( (binary_expression "local_78 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");" (assignment_expression "uVar10 = gettext("out of patch space in section %s; relink with --incremental-full")" identifier = (call_expression "gettext("out of patch space in section %s; relink with --incremental-full")" identifier (argument_list "("out of patch space in section %s; relink with --incremental-full")" ( (string_literal ""out of patch space in section %s; relink with --incremental-full"" " string_content ") )))) ;) (expression_statement "FUN_001917d0(uVar10,uVar1);" (call_expression "FUN_001917d0(uVar10,uVar1)" identifier (argument_list "(uVar10,uVar1)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_002625b1;" goto statement_identifier ;) })) (expression_statement "FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);" (call_expression "FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff)" identifier (argument_list "(lVar9,local_78,uVar12 & 0xffffffff)" ( identifier , identifier , (binary_expression "uVar12 & 0xffffffff" identifier & number_literal) ))) ;) })) (expression_statement "plVar11 = (long *)param_4[1];" (assignment_expression "plVar11 = (long *)param_4[1]" identifier = (cast_expression "(long *)param_4[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_002623f0:\n      plVar7 = plVar15;" statement_identifier : (expression_statement "plVar7 = plVar15;" (assignment_expression "plVar7 = plVar15" identifier = identifier) ;)) }) while (parenthesized_expression "((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0))" ( (binary_expression "(plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0)" (parenthesized_expression "(plVar11 != plVar15)" ( (binary_expression "plVar11 != plVar15" identifier != identifier) )) && (parenthesized_expression "(lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0)" ( (comma_expression "lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0" (assignment_expression "lVar4 = *plVar15" identifier = (pointer_expression "*plVar15" * identifier)) , (comma_expression "plVar7 = plVar11, lVar4 != 0" (assignment_expression "plVar7 = plVar11" identifier = identifier) , (binary_expression "lVar4 != 0" identifier != number_literal))) ))) )) ;) }))) (if_statement "if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }" if (parenthesized_expression "(puVar8 != (undefined8 *)0x0)" ( (binary_expression "puVar8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }" { (if_statement "if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" if (parenthesized_expression "((*(byte *)(puVar8 + 4) & 2) != 0)" ( (binary_expression "(*(byte *)(puVar8 + 4) & 2) != 0" (parenthesized_expression "(*(byte *)(puVar8 + 4) & 2)" ( (binary_expression "*(byte *)(puVar8 + 4) & 2" (pointer_expression "*(byte *)(puVar8 + 4)" * (cast_expression "(byte *)(puVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" { (labeled_statement "LAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");" statement_identifier : (expression_statement "FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;)) })) (expression_statement "puVar8[2] = uVar12;" (assignment_expression "puVar8[2] = uVar12" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }" if (parenthesized_expression "((long *)*param_4 != plVar7)" ( (binary_expression "(long *)*param_4 != plVar7" (cast_expression "(long *)*param_4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier)) != identifier) )) (compound_statement "{\n    param_4[1] = *param_4;\n  }" { (expression_statement "param_4[1] = *param_4;" (assignment_expression "param_4[1] = *param_4" (subscript_expression "param_4[1]" identifier [ number_literal ]) = (pointer_expression "*param_4" * identifier)) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (if_statement if (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (binary_expression IDENT + LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) >> LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (for_statement for ( ; (binary_expression (binary_expression IDENT >> IDENT) == LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT) ))))) )) * LIT) , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (for_statement for ( ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( 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 ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT , IDENT , LIT , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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) )))) ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + IDENT) & (unary_expression - IDENT))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT & LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00262080(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  char cVar3;\n  long lVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long *plVar7;\n  undefined8 *puVar8;\n  long lVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  ulong uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long *plVar15;\n  long local_78;\n  ulong uStack_48;\n  \n  if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }\n  uVar12 = 0;\n  plVar15 = (long *)*param_4;\n  cVar3 = '\0';\n  do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);\nLAB_00262138:\n  plVar11 = plVar11 + 1;\n  if (cVar2 == '\0') {\n    return;\n  }\n  uVar6 = (ulong)param_6;\n  plVar15 = (long *)*param_4;\n  if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }\n  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);\njoined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }\n  if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }\n  plVar11 = (long *)param_4[1];\n  plVar15 = (long *)*param_4;\n  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }\n  if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }\n  if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00262080(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)" (identifier "FUN_00262080") (parameter_list "(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,\n                 uint param_6)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "long *param_4" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "long param_5" (sized_type_specifier "long" (long "long")) (identifier "param_5")) (, ",") (parameter_declaration "uint param_6" (type_identifier "uint") (identifier "param_6")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  char cVar2;\n  char cVar3;\n  long lVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long *plVar7;\n  undefined8 *puVar8;\n  long lVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  ulong uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long *plVar15;\n  long local_78;\n  ulong uStack_48;\n  \n  if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }\n  uVar12 = 0;\n  plVar15 = (long *)*param_4;\n  cVar3 = '\0';\n  do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);\nLAB_00262138:\n  plVar11 = plVar11 + 1;\n  if (cVar2 == '\0') {\n    return;\n  }\n  uVar6 = (ulong)param_6;\n  plVar15 = (long *)*param_4;\n  if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }\n  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);\njoined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }\n  if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }\n  plVar11 = (long *)param_4[1];\n  plVar15 = (long *)*param_4;\n  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }\n  if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }\n  if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "ulong uVar6;" (type_identifier "ulong") (identifier "uVar6") (; ";")) (declaration "long *plVar7;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar7" (* "*") (identifier "plVar7")) (; ";")) (declaration "undefined8 *puVar8;" (type_identifier "undefined8") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "long lVar9;" (sized_type_specifier "long" (long "long")) (identifier "lVar9") (; ";")) (declaration "undefined8 uVar10;" (type_identifier "undefined8") (identifier "uVar10") (; ";")) (declaration "long *plVar11;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar11" (* "*") (identifier "plVar11")) (; ";")) (declaration "ulong uVar12;" (type_identifier "ulong") (identifier "uVar12") (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "long *plVar15;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar15" (* "*") (identifier "plVar15")) (; ";")) (declaration "long local_78;" (sized_type_specifier "long" (long "long")) (identifier "local_78") (; ";")) (declaration "ulong uStack_48;" (type_identifier "ulong") (identifier "uStack_48") (; ";")) (if_statement "if ((long *)*param_4 == (long *)param_4[1]) {\n    return;\n  }" (if "if") (parenthesized_expression "((long *)*param_4 == (long *)param_4[1])" (( "(") (binary_expression "(long *)*param_4 == (long *)param_4[1]" (cast_expression "(long *)*param_4" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (== "==") (cast_expression "(long *)param_4[1]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar15 = (long *)*param_4;" (assignment_expression "plVar15 = (long *)*param_4" (identifier "plVar15") (= "=") (cast_expression "(long *)*param_4" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" (identifier "cVar3") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (do_statement "do {\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  } while ((long *)param_4[1] != plVar11 + 1);" (do "do") (compound_statement "{\n    while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }\n    lVar4 = FUN_00261690(lVar4);\n    if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }\n    plVar15 = plVar11 + 1;\n    cVar3 = cVar2;\n  }" ({ "{") (while_statement "while( true ) {\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      plVar11 = plVar15;\n      lVar4 = *plVar11;\n      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }\n      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;\n      *plVar11 = 0;\n      plVar15 = plVar11 + 1;\n      cVar2 = cVar3;\n      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;\n    }" ({ "{") (expression_statement "plVar11 = plVar15;" (assignment_expression "plVar11 = plVar15" (identifier "plVar11") (= "=") (identifier "plVar15")) (; ";")) (expression_statement "lVar4 = *plVar11;" (assignment_expression "lVar4 = *plVar11" (identifier "lVar4") (= "=") (pointer_expression "*plVar11" (* "*") (identifier "plVar11"))) (; ";")) (if_statement "if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }" (if "if") (parenthesized_expression "((*(byte *)(lVar4 + 0x3a) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)(lVar4 + 0x3a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3a) & 0x10)" (( "(") (binary_expression "*(byte *)(lVar4 + 0x3a) & 0x10" (pointer_expression "*(byte *)(lVar4 + 0x3a)" (* "*") (cast_expression "(byte *)(lVar4 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x3a)" (( "(") (binary_expression "lVar4 + 0x3a" (identifier "lVar4") (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        lVar4 = FUN_0024aed0(param_1,lVar4);\n        *plVar11 = lVar4;\n      }" ({ "{") (expression_statement "lVar4 = FUN_0024aed0(param_1,lVar4);" (assignment_expression "lVar4 = FUN_0024aed0(param_1,lVar4)" (identifier "lVar4") (= "=") (call_expression "FUN_0024aed0(param_1,lVar4)" (identifier "FUN_0024aed0") (argument_list "(param_1,lVar4)" (( "(") (identifier "param_1") (, ",") (identifier "lVar4") () ")")))) (; ";")) (expression_statement "*plVar11 = lVar4;" (assignment_expression "*plVar11 = lVar4" (pointer_expression "*plVar11" (* "*") (identifier "plVar11")) (= "=") (identifier "lVar4")) (; ";")) (} "}"))) (if_statement "if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;" (if "if") (parenthesized_expression "((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0'))" (( "(") (binary_expression "(((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&\n         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')" (parenthesized_expression "(((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0))" (( "(") (binary_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)(lVar4 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)(lVar4 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar4 + 0x3a)" (* "*") (cast_expression "(byte *)(lVar4 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x3a)" (( "(") (binary_expression "lVar4 + 0x3a" (identifier "lVar4") (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(lVar4 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)(lVar4 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar4 + 0x3b)" (* "*") (cast_expression "(byte *)(lVar4 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x3b)" (( "(") (binary_expression "lVar4 + 0x3b" (identifier "lVar4") (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')" (( "(") (comma_expression "cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0'" (assignment_expression "cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" (identifier "cVar2") (= "=") (call_expression "FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" (identifier "FUN_0024aae0") (argument_list "(*(undefined4 *)(lVar4 + 0x18))" (( "(") (pointer_expression "*(undefined4 *)(lVar4 + 0x18)" (* "*") (cast_expression "(undefined4 *)(lVar4 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x18)" (( "(") (binary_expression "lVar4 + 0x18" (identifier "lVar4") (+ "+") (number_literal "0x18")) () ")")))) () ")")))) (, ",") (binary_expression "cVar2 != '\0'" (identifier "cVar2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*plVar11 = 0;" (assignment_expression "*plVar11 = 0" (pointer_expression "*plVar11" (* "*") (identifier "plVar11")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar15 = plVar11 + 1;" (assignment_expression "plVar15 = plVar11 + 1" (identifier "plVar15") (= "=") (binary_expression "plVar11 + 1" (identifier "plVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar2 = cVar3;" (assignment_expression "cVar2 = cVar3" (identifier "cVar2") (= "=") (identifier "cVar3")) (; ";")) (if_statement "if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;" (if "if") (parenthesized_expression "((long *)param_4[1] == plVar11 + 1)" (( "(") (binary_expression "(long *)param_4[1] == plVar11 + 1" (cast_expression "(long *)param_4[1]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (== "==") (binary_expression "plVar11 + 1" (identifier "plVar11") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_00262138;" (goto "goto") (statement_identifier "LAB_00262138") (; ";"))) (} "}"))) (expression_statement "lVar4 = FUN_00261690(lVar4);" (assignment_expression "lVar4 = FUN_00261690(lVar4)" (identifier "lVar4") (= "=") (call_expression "FUN_00261690(lVar4)" (identifier "FUN_00261690") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")")))) (; ";")) (if_statement "if (uVar12 < *(uint *)(lVar4 + 0x40)) {\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }" (if "if") (parenthesized_expression "(uVar12 < *(uint *)(lVar4 + 0x40))" (( "(") (binary_expression "uVar12 < *(uint *)(lVar4 + 0x40)" (identifier "uVar12") (< "<") (pointer_expression "*(uint *)(lVar4 + 0x40)" (* "*") (cast_expression "(uint *)(lVar4 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x40)" (( "(") (binary_expression "lVar4 + 0x40" (identifier "lVar4") (+ "+") (number_literal "0x40")) () ")"))))) () ")")) (compound_statement "{\n      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);\n    }" ({ "{") (expression_statement "uVar12 = (ulong)*(uint *)(lVar4 + 0x40);" (assignment_expression "uVar12 = (ulong)*(uint *)(lVar4 + 0x40)" (identifier "uVar12") (= "=") (binary_expression "(ulong)*(uint *)(lVar4 + 0x40)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(lVar4 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x40)" (( "(") (binary_expression "lVar4 + 0x40" (identifier "lVar4") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (} "}"))) (expression_statement "plVar15 = plVar11 + 1;" (assignment_expression "plVar15 = plVar11 + 1" (identifier "plVar15") (= "=") (binary_expression "plVar11 + 1" (identifier "plVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar3 = cVar2;" (assignment_expression "cVar3 = cVar2" (identifier "cVar3") (= "=") (identifier "cVar2")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((long *)param_4[1] != plVar11 + 1)" (( "(") (binary_expression "(long *)param_4[1] != plVar11 + 1" (cast_expression "(long *)param_4[1]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (binary_expression "plVar11 + 1" (identifier "plVar11") (+ "+") (number_literal "1"))) () ")")) (; ";")) (labeled_statement "LAB_00262138:\n  plVar11 = plVar11 + 1;" (statement_identifier "LAB_00262138") (: ":") (expression_statement "plVar11 = plVar11 + 1;" (assignment_expression "plVar11 = plVar11 + 1" (identifier "plVar11") (= "=") (binary_expression "plVar11 + 1" (identifier "plVar11") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (cVar2 == '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar6 = (ulong)param_6;" (assignment_expression "uVar6 = (ulong)param_6" (identifier "uVar6") (= "=") (cast_expression "(ulong)param_6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_6"))) (; ";")) (expression_statement "plVar15 = (long *)*param_4;" (assignment_expression "plVar15 = (long *)*param_4" (identifier "plVar15") (= "=") (cast_expression "(long *)*param_4" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (if_statement "if (plVar11 == plVar15) {\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }\n  else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }" (if "if") (parenthesized_expression "(plVar11 == plVar15)" (( "(") (binary_expression "plVar11 == plVar15" (identifier "plVar11") (== "==") (identifier "plVar15")) () ")")) (compound_statement "{\nLAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;\nLAB_00262453:\n    pcVar14 = "** tls common";\n    pcVar13 = ".tbss";\n    uVar6 = 0x403;\n  }" ({ "{") (labeled_statement "LAB_0026221c:\n    if (param_3 != 1) goto LAB_00262229;" (statement_identifier "LAB_0026221c") (: ":") (if_statement "if (param_3 != 1) goto LAB_00262229;" (if "if") (parenthesized_expression "(param_3 != 1)" (( "(") (binary_expression "param_3 != 1" (identifier "param_3") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_00262229;" (goto "goto") (statement_identifier "LAB_00262229") (; ";")))) (labeled_statement "LAB_00262453:\n    pcVar14 = "** tls common";" (statement_identifier "LAB_00262453") (: ":") (expression_statement "pcVar14 = "** tls common";" (assignment_expression "pcVar14 = "** tls common"" (identifier "pcVar14") (= "=") (string_literal ""** tls common"" (" """) (string_content "** tls common") (" """))) (; ";"))) (expression_statement "pcVar13 = ".tbss";" (assignment_expression "pcVar13 = ".tbss"" (identifier "pcVar13") (= "=") (string_literal "".tbss"" (" """) (string_content ".tbss") (" """))) (; ";")) (expression_statement "uVar6 = 0x403;" (assignment_expression "uVar6 = 0x403" (identifier "uVar6") (= "=") (number_literal "0x403")) (; ";")) (} "}")) (else_clause "else {\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }" (else "else") (compound_statement "{\n    uVar5 = (long)plVar11 - (long)plVar15 >> 3;\n    lVar4 = 0x3f;\n    if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }\n    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);\n    if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }\n    FUN_00261990(plVar15,plVar11,param_1,uVar6);\n    if (param_3 == 1) goto LAB_00262453;\nLAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }\n  }" ({ "{") (expression_statement "uVar5 = (long)plVar11 - (long)plVar15 >> 3;" (assignment_expression "uVar5 = (long)plVar11 - (long)plVar15 >> 3" (identifier "uVar5") (= "=") (binary_expression "(long)plVar11 - (long)plVar15 >> 3" (binary_expression "(long)plVar11 - (long)plVar15" (cast_expression "(long)plVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar11")) (- "-") (cast_expression "(long)plVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar15"))) (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "lVar4 = 0x3f;" (assignment_expression "lVar4 = 0x3f" (identifier "lVar4") (= "=") (number_literal "0x3f")) (; ";")) (if_statement "if (uVar5 != 0) {\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }" (if "if") (parenthesized_expression "(uVar5 != 0)" (( "(") (binary_expression "uVar5 != 0" (identifier "uVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }\n    }" ({ "{") (for_statement "for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {\n      }" (for "for") (( "(") (; ";") (binary_expression "uVar5 >> lVar4 == 0" (binary_expression "uVar5 >> lVar4" (identifier "uVar5") (>> ">>") (identifier "lVar4")) (== "==") (number_literal "0")) (; ";") (assignment_expression "lVar4 = lVar4 + -1" (identifier "lVar4") (= "=") (binary_expression "lVar4 + -1" (identifier "lVar4") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      }" ({ "{") (} "}"))) (} "}"))) (expression_statement "FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);" (call_expression "FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6)" (identifier "FUN_00261dc0") (argument_list "(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6)" (( "(") (identifier "plVar15") (, ",") (identifier "plVar11") (, ",") (binary_expression "(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2" (parenthesized_expression "(0x3f - (long)(int)((uint)lVar4 ^ 0x3f))" (( "(") (binary_expression "0x3f - (long)(int)((uint)lVar4 ^ 0x3f)" (number_literal "0x3f") (- "-") (cast_expression "(long)(int)((uint)lVar4 ^ 0x3f)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)((uint)lVar4 ^ 0x3f)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)lVar4 ^ 0x3f)" (( "(") (binary_expression "(uint)lVar4 ^ 0x3f" (cast_expression "(uint)lVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar4")) (^ "^") (number_literal "0x3f")) () ")"))))) () ")")) (* "*") (number_literal "2")) (, ",") (identifier "param_1") (, ",") (identifier "uVar6") () ")"))) (; ";")) (if_statement "if (0x80 < (long)plVar11 - (long)plVar15) {\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }" (if "if") (parenthesized_expression "(0x80 < (long)plVar11 - (long)plVar15)" (( "(") (binary_expression "0x80 < (long)plVar11 - (long)plVar15" (number_literal "0x80") (< "<") (binary_expression "(long)plVar11 - (long)plVar15" (cast_expression "(long)plVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar11")) (- "-") (cast_expression "(long)plVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar15")))) () ")")) (compound_statement "{\n      plVar7 = plVar15 + 0x10;\n      FUN_00261990(plVar15,plVar7,param_1,uVar6);\n      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }\n      goto LAB_0026221c;\n    }" ({ "{") (expression_statement "plVar7 = plVar15 + 0x10;" (assignment_expression "plVar7 = plVar15 + 0x10" (identifier "plVar7") (= "=") (binary_expression "plVar15 + 0x10" (identifier "plVar15") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "FUN_00261990(plVar15,plVar7,param_1,uVar6);" (call_expression "FUN_00261990(plVar15,plVar7,param_1,uVar6)" (identifier "FUN_00261990") (argument_list "(plVar15,plVar7,param_1,uVar6)" (( "(") (identifier "plVar15") (, ",") (identifier "plVar7") (, ",") (identifier "param_1") (, ",") (identifier "uVar6") () ")"))) (; ";")) (for_statement "for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }" (for "for") (( "(") (; ";") (binary_expression "plVar11 != plVar7" (identifier "plVar11") (!= "!=") (identifier "plVar7")) (; ";") (assignment_expression "plVar7 = plVar7 + 1" (identifier "plVar7") (= "=") (binary_expression "plVar7 + 1" (identifier "plVar7") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;\n        FUN_00261940(plVar7,param_1,uStack_48);\n      }" ({ "{") (expression_statement "uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;" (assignment_expression "uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6" (identifier "uStack_48") (= "=") (binary_expression "uStack_48 & 0xffffffff00000000 | uVar6" (binary_expression "uStack_48 & 0xffffffff00000000" (identifier "uStack_48") (& "&") (number_literal "0xffffffff00000000")) (| "|") (identifier "uVar6"))) (; ";")) (expression_statement "FUN_00261940(plVar7,param_1,uStack_48);" (call_expression "FUN_00261940(plVar7,param_1,uStack_48)" (identifier "FUN_00261940") (argument_list "(plVar7,param_1,uStack_48)" (( "(") (identifier "plVar7") (, ",") (identifier "param_1") (, ",") (identifier "uStack_48") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0026221c;" (goto "goto") (statement_identifier "LAB_0026221c") (; ";")) (} "}"))) (expression_statement "FUN_00261990(plVar15,plVar11,param_1,uVar6);" (call_expression "FUN_00261990(plVar15,plVar11,param_1,uVar6)" (identifier "FUN_00261990") (argument_list "(plVar15,plVar11,param_1,uVar6)" (( "(") (identifier "plVar15") (, ",") (identifier "plVar11") (, ",") (identifier "param_1") (, ",") (identifier "uVar6") () ")"))) (; ";")) (if_statement "if (param_3 == 1) goto LAB_00262453;" (if "if") (parenthesized_expression "(param_3 == 1)" (( "(") (binary_expression "param_3 == 1" (identifier "param_3") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00262453;" (goto "goto") (statement_identifier "LAB_00262453") (; ";"))) (labeled_statement "LAB_00262229:\n    if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" (statement_identifier "LAB_00262229") (: ":") (if_statement "if (param_3 == 0) {\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }\n    else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar14 = "** common";\n      pcVar13 = ".bss";\n      uVar6 = 3;\n    }" ({ "{") (expression_statement "pcVar14 = "** common";" (assignment_expression "pcVar14 = "** common"" (identifier "pcVar14") (= "=") (string_literal ""** common"" (" """) (string_content "** common") (" """))) (; ";")) (expression_statement "pcVar13 = ".bss";" (assignment_expression "pcVar13 = ".bss"" (identifier "pcVar13") (= "=") (string_literal "".bss"" (" """) (string_content ".bss") (" """))) (; ";")) (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" (identifier "uVar6") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" (else "else") (compound_statement "{\n      if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }\n      if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }\n      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;\n      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n      if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }\n      pcVar14 = "** large common";\n      pcVar13 = ".lbss";\n      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;\n    }" ({ "{") (if_statement "if (param_3 == 2) {\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }" (if "if") (parenthesized_expression "(param_3 == 2)" (( "(") (binary_expression "param_3 == 2" (identifier "param_3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);\n        if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }\n        pcVar14 = "** small common";\n        pcVar13 = ".sbss";\n        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;\n        cVar3 = FUN_0021a540();\n        goto joined_r0x00262324;\n      }" ({ "{") (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x18" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" ({ "{") (labeled_statement "LAB_00262560:\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");" (statement_identifier "LAB_00262560") (: ":") (expression_statement "FUN_00199900("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x69,"target")" (identifier "FUN_00199900") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);" (assignment_expression "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (* "*") (cast_expression "(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x18" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (*(short *)(lVar4 + 0x48) == 0) {\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }" (if "if") (parenthesized_expression "(*(short *)(lVar4 + 0x48) == 0)" (( "(") (binary_expression "*(short *)(lVar4 + 0x48) == 0" (pointer_expression "*(short *)(lVar4 + 0x48)" (* "*") (cast_expression "(short *)(lVar4 + 0x48)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x48)" (( "(") (binary_expression "lVar4 + 0x48" (identifier "lVar4") (+ "+") (number_literal "0x48")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");\n        }" ({ "{") (expression_statement "FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");" (call_expression "FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags")" (identifier "FUN_00199900") (argument_list "("../../gold/target.h",0xc5,"small_common_section_flags")" (( "(") (string_literal ""../../gold/target.h"" (" """) (string_content "../../gold/target.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""small_common_section_flags"" (" """) (string_content "small_common_section_flags") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar14 = "** small common";" (assignment_expression "pcVar14 = "** small common"" (identifier "pcVar14") (= "=") (string_literal ""** small common"" (" """) (string_content "** small common") (" """))) (; ";")) (expression_statement "pcVar13 = ".sbss";" (assignment_expression "pcVar13 = ".sbss"" (identifier "pcVar13") (= "=") (string_literal "".sbss"" (" """) (string_content ".sbss") (" """))) (; ";")) (expression_statement "uVar6 = *(ulong *)(lVar4 + 0x50) | 3;" (assignment_expression "uVar6 = *(ulong *)(lVar4 + 0x50) | 3" (identifier "uVar6") (= "=") (binary_expression "*(ulong *)(lVar4 + 0x50) | 3" (pointer_expression "*(ulong *)(lVar4 + 0x50)" (* "*") (cast_expression "(ulong *)(lVar4 + 0x50)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x50)" (( "(") (binary_expression "lVar4 + 0x50" (identifier "lVar4") (+ "+") (number_literal "0x50")) () ")")))) (| "|") (number_literal "3"))) (; ";")) (expression_statement "cVar3 = FUN_0021a540();" (assignment_expression "cVar3 = FUN_0021a540()" (identifier "cVar3") (= "=") (call_expression "FUN_0021a540()" (identifier "FUN_0021a540") (argument_list "()" (( "(") () ")")))) (; ";")) (goto_statement "goto joined_r0x00262324;" (goto "goto") (statement_identifier "joined_r0x00262324") (; ";")) (} "}"))) (if_statement "if (param_3 != 3) {\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }" (if "if") (parenthesized_expression "(param_3 != 3)" (( "(") (binary_expression "param_3 != 3" (identifier "param_3") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n                    \n        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n      }" ({ "{") (expression_statement "FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");" (call_expression "FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list")" (identifier "FUN_00199900") (argument_list "("../../gold/common.cc",0x11b,"do_allocate_commons_list")" (( "(") (string_literal ""../../gold/common.cc"" (" """) (string_content "../../gold/common.cc") (" """)) (, ",") (number_literal "0x11b") (, ",") (string_literal ""do_allocate_commons_list"" (" """) (string_content "do_allocate_commons_list") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x18" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00262560;" (goto "goto") (statement_identifier "LAB_00262560") (; ";"))) (expression_statement "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);" (assignment_expression "lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (* "*") (cast_expression "(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x18" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (*(short *)(lVar4 + 0x4a) == 0) {\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }" (if "if") (parenthesized_expression "(*(short *)(lVar4 + 0x4a) == 0)" (( "(") (binary_expression "*(short *)(lVar4 + 0x4a) == 0" (pointer_expression "*(short *)(lVar4 + 0x4a)" (* "*") (cast_expression "(short *)(lVar4 + 0x4a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x4a)" (( "(") (binary_expression "lVar4 + 0x4a" (identifier "lVar4") (+ "+") (number_literal "0x4a")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");\n      }" ({ "{") (expression_statement "FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");" (call_expression "FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags")" (identifier "FUN_00199900") (argument_list "("../../gold/target.h",0xd5,"large_common_section_flags")" (( "(") (string_literal ""../../gold/target.h"" (" """) (string_content "../../gold/target.h") (" """)) (, ",") (number_literal "0xd5") (, ",") (string_literal ""large_common_section_flags"" (" """) (string_content "large_common_section_flags") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar14 = "** large common";" (assignment_expression "pcVar14 = "** large common"" (identifier "pcVar14") (= "=") (string_literal ""** large common"" (" """) (string_content "** large common") (" """))) (; ";")) (expression_statement "pcVar13 = ".lbss";" (assignment_expression "pcVar13 = ".lbss"" (identifier "pcVar13") (= "=") (string_literal "".lbss"" (" """) (string_content ".lbss") (" """))) (; ";")) (expression_statement "uVar6 = *(ulong *)(lVar4 + 0x58) | 3;" (assignment_expression "uVar6 = *(ulong *)(lVar4 + 0x58) | 3" (identifier "uVar6") (= "=") (binary_expression "*(ulong *)(lVar4 + 0x58) | 3" (pointer_expression "*(ulong *)(lVar4 + 0x58)" (* "*") (cast_expression "(ulong *)(lVar4 + 0x58)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x58)" (( "(") (binary_expression "lVar4 + 0x58" (identifier "lVar4") (+ "+") (number_literal "0x58")) () ")")))) (| "|") (number_literal "3"))) (; ";")) (} "}"))))) (} "}")))) (expression_statement "cVar3 = FUN_0021a540(PTR_DAT_003f85c0);" (assignment_expression "cVar3 = FUN_0021a540(PTR_DAT_003f85c0)" (identifier "cVar3") (= "=") (call_expression "FUN_0021a540(PTR_DAT_003f85c0)" (identifier "FUN_0021a540") (argument_list "(PTR_DAT_003f85c0)" (( "(") (identifier "PTR_DAT_003f85c0") () ")")))) (; ";")) (labeled_statement "joined_r0x00262324:\n  if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" (statement_identifier "joined_r0x00262324") (: ":") (if_statement "if (cVar3 == '\0') {\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }\n  else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    puVar8 = (undefined8 *)FUN_002a11b0(0x40);\n    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;\n    puVar8[1] = 0;\n    puVar8[2] = 0;\n    puVar8[3] = 0xffffffffffffffff;\n    puVar8[5] = 0;\n    puVar8[6] = uVar12;\n    *puVar8 = &PTR_FUN_003ec600;\n    puVar8[7] = pcVar14;\n    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);\n  }" ({ "{") (expression_statement "puVar8 = (undefined8 *)FUN_002a11b0(0x40);" (assignment_expression "puVar8 = (undefined8 *)FUN_002a11b0(0x40)" (identifier "puVar8") (= "=") (cast_expression "(undefined8 *)FUN_002a11b0(0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002a11b0(0x40)" (identifier "FUN_002a11b0") (argument_list "(0x40)" (( "(") (number_literal "0x40") () ")"))))) (; ";")) (expression_statement "*(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;" (assignment_expression "*(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(puVar8 + 4)" (* "*") (cast_expression "(byte *)(puVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 4)" (( "(") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(byte *)(puVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(puVar8 + 4)" (* "*") (cast_expression "(byte *)(puVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 4)" (( "(") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "puVar8[1] = 0;" (assignment_expression "puVar8[1] = 0" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[2] = 0;" (assignment_expression "puVar8[2] = 0" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[3] = 0xffffffffffffffff;" (assignment_expression "puVar8[3] = 0xffffffffffffffff" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "puVar8[5] = 0;" (assignment_expression "puVar8[5] = 0" (subscript_expression "puVar8[5]" (identifier "puVar8") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[6] = uVar12;" (assignment_expression "puVar8[6] = uVar12" (subscript_expression "puVar8[6]" (identifier "puVar8") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*puVar8 = &PTR_FUN_003ec600;" (assignment_expression "*puVar8 = &PTR_FUN_003ec600" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (pointer_expression "&PTR_FUN_003ec600" (& "&") (identifier "PTR_FUN_003ec600"))) (; ";")) (expression_statement "puVar8[7] = pcVar14;" (assignment_expression "puVar8[7] = pcVar14" (subscript_expression "puVar8[7]" (identifier "puVar8") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);" (assignment_expression "local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0)" (identifier "local_78") (= "=") (call_expression "FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0)" (identifier "FUN_001bc730") (argument_list "(param_2,pcVar13,8,uVar6,puVar8,0,0)" (( "(") (identifier "param_2") (, ",") (identifier "pcVar13") (, ",") (number_literal "8") (, ",") (identifier "uVar6") (, ",") (identifier "puVar8") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")) (else_clause "else {\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" (else "else") (compound_statement "{\n    puVar8 = (undefined8 *)0x0;\n    local_78 = FUN_001b3d50(param_2,pcVar13);\n  }" ({ "{") (expression_statement "puVar8 = (undefined8 *)0x0;" (assignment_expression "puVar8 = (undefined8 *)0x0" (identifier "puVar8") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_78 = FUN_001b3d50(param_2,pcVar13);" (assignment_expression "local_78 = FUN_001b3d50(param_2,pcVar13)" (identifier "local_78") (= "=") (call_expression "FUN_001b3d50(param_2,pcVar13)" (identifier "FUN_001b3d50") (argument_list "(param_2,pcVar13)" (( "(") (identifier "param_2") (, ",") (identifier "pcVar13") () ")")))) (; ";")) (} "}"))))) (if_statement "if (local_78 != 0) {\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }" (if "if") (parenthesized_expression "(local_78 != 0)" (( "(") (binary_expression "local_78 != 0" (identifier "local_78") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }\n  }" ({ "{") (if_statement "if (param_3 == 2) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" (if "if") (parenthesized_expression "(param_3 == 2)" (( "(") (binary_expression "param_3 == 2" (identifier "param_3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;\n    }" ({ "{") (expression_statement "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;" (assignment_expression "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40" (pointer_expression "*(byte *)(local_78 + 0xc9)" (* "*") (cast_expression "(byte *)(local_78 + 0xc9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 0xc9)" (( "(") (binary_expression "local_78 + 0xc9" (identifier "local_78") (+ "+") (number_literal "0xc9")) () ")")))) (= "=") (binary_expression "*(byte *)(local_78 + 0xc9) | 0x40" (pointer_expression "*(byte *)(local_78 + 0xc9)" (* "*") (cast_expression "(byte *)(local_78 + 0xc9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 0xc9)" (( "(") (binary_expression "local_78 + 0xc9" (identifier "local_78") (+ "+") (number_literal "0xc9")) () ")")))) (| "|") (number_literal "0x40"))) (; ";")) (} "}")) (else_clause "else if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" (else "else") (if_statement "if (param_3 == 3) {\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" (if "if") (parenthesized_expression "(param_3 == 3)" (( "(") (binary_expression "param_3 == 3" (identifier "param_3") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;\n    }" ({ "{") (expression_statement "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;" (assignment_expression "*(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80" (pointer_expression "*(byte *)(local_78 + 0xc9)" (* "*") (cast_expression "(byte *)(local_78 + 0xc9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 0xc9)" (( "(") (binary_expression "local_78 + 0xc9" (identifier "local_78") (+ "+") (number_literal "0xc9")) () ")")))) (= "=") (binary_expression "*(byte *)(local_78 + 0xc9) | 0x80" (pointer_expression "*(byte *)(local_78 + 0xc9)" (* "*") (cast_expression "(byte *)(local_78 + 0xc9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 0xc9)" (( "(") (binary_expression "local_78 + 0xc9" (identifier "local_78") (+ "+") (number_literal "0xc9")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (} "}"))))) (} "}"))) (expression_statement "plVar11 = (long *)param_4[1];" (assignment_expression "plVar11 = (long *)param_4[1]" (identifier "plVar11") (= "=") (cast_expression "(long *)param_4[1]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "plVar15 = (long *)*param_4;" (assignment_expression "plVar15 = (long *)*param_4" (identifier "plVar15") (= "=") (cast_expression "(long *)*param_4" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (if_statement "if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }\n  else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }" (if "if") (parenthesized_expression "((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0))" (( "(") (binary_expression "(plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)" (parenthesized_expression "(plVar15 == plVar11)" (( "(") (binary_expression "plVar15 == plVar11" (identifier "plVar15") (== "==") (identifier "plVar11")) () ")")) (|| "||") (parenthesized_expression "(lVar4 = *plVar15, lVar4 == 0)" (( "(") (comma_expression "lVar4 = *plVar15, lVar4 == 0" (assignment_expression "lVar4 = *plVar15" (identifier "lVar4") (= "=") (pointer_expression "*plVar15" (* "*") (identifier "plVar15"))) (, ",") (binary_expression "lVar4 == 0" (identifier "lVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    uVar12 = 0;\n    plVar7 = plVar11;\n  }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar7 = plVar11;" (assignment_expression "plVar7 = plVar11" (identifier "plVar7") (= "=") (identifier "plVar11")) (; ";")) (} "}")) (else_clause "else {\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }" (else "else") (compound_statement "{\n    uVar12 = 0;\n    do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));\n  }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));" (do "do") (compound_statement "{\n      plVar15 = plVar15 + 1;\n      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }\nLAB_002623f0:\n      plVar7 = plVar15;\n    }" ({ "{") (expression_statement "plVar15 = plVar15 + 1;" (assignment_expression "plVar15 = plVar15 + 1" (identifier "plVar15") (= "=") (binary_expression "plVar15 + 1" (identifier "plVar15") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }" (if "if") (parenthesized_expression "(((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0))" (( "(") (binary_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)(lVar4 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)(lVar4 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)(lVar4 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar4 + 0x3a)" (* "*") (cast_expression "(byte *)(lVar4 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x3a)" (( "(") (binary_expression "lVar4 + 0x3a" (identifier "lVar4") (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(lVar4 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)(lVar4 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar4 + 0x3b)" (* "*") (cast_expression "(byte *)(lVar4 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x3b)" (( "(") (binary_expression "lVar4 + 0x3b" (identifier "lVar4") (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));\n        if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }\n        plVar11 = (long *)param_4[1];\n      }" ({ "{") (expression_statement "cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));" (assignment_expression "cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" (identifier "cVar3") (= "=") (call_expression "FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18))" (identifier "FUN_0024aae0") (argument_list "(*(undefined4 *)(lVar4 + 0x18))" (( "(") (pointer_expression "*(undefined4 *)(lVar4 + 0x18)" (* "*") (cast_expression "(undefined4 *)(lVar4 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x18)" (( "(") (binary_expression "lVar4 + 0x18" (identifier "lVar4") (+ "+") (number_literal "0x18")) () ")")))) () ")")))) (; ";")) (if_statement "if (cVar3 != '\0') {\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          lVar9 = FUN_00261690(lVar4);\n          if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }\n          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);\n          if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }\n          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);\n          if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }\n          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);\n        }" ({ "{") (expression_statement "lVar9 = FUN_00261690(lVar4);" (assignment_expression "lVar9 = FUN_00261690(lVar4)" (identifier "lVar9") (= "=") (call_expression "FUN_00261690(lVar4)" (identifier "FUN_00261690") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")")))) (; ";")) (if_statement "if (param_5 != 0) {\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));\n          }" ({ "{") (expression_statement "FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));" (call_expression "FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44))" (identifier "FUN_001c6b10") (argument_list "(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44))" (( "(") (identifier "param_5") (, ",") (identifier "lVar4") (, ",") (pointer_expression "*(undefined4 *)(lVar9 + 0x44)" (* "*") (cast_expression "(undefined4 *)(lVar9 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + 0x44)" (( "(") (binary_expression "lVar9 + 0x44" (identifier "lVar9") (+ "+") (number_literal "0x44")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar6 = (ulong)*(uint *)(lVar9 + 0x40);" (assignment_expression "uVar6 = (ulong)*(uint *)(lVar9 + 0x40)" (identifier "uVar6") (= "=") (binary_expression "(ulong)*(uint *)(lVar9 + 0x40)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(lVar9 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + 0x40)" (( "(") (binary_expression "lVar9 + 0x40" (identifier "lVar9") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (puVar8 != (undefined8 *)0x0) {\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }" (if "if") (parenthesized_expression "(puVar8 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined8 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }\n            FUN_0024dec0(lVar9,puVar8,uVar12);\n            plVar11 = (long *)param_4[1];\n            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);\n            goto LAB_002623f0;\n          }" ({ "{") (if_statement "if (uVar6 != 0) {\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;\n            }" ({ "{") (expression_statement "uVar12 = (uVar12 - 1) + uVar6 & -uVar6;" (assignment_expression "uVar12 = (uVar12 - 1) + uVar6 & -uVar6" (identifier "uVar12") (= "=") (binary_expression "(uVar12 - 1) + uVar6 & -uVar6" (binary_expression "(uVar12 - 1) + uVar6" (parenthesized_expression "(uVar12 - 1)" (( "(") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1")) () ")")) (+ "+") (identifier "uVar6")) (& "&") (unary_expression "-uVar6" (- "-") (identifier "uVar6")))) (; ";")) (} "}"))) (expression_statement "FUN_0024dec0(lVar9,puVar8,uVar12);" (call_expression "FUN_0024dec0(lVar9,puVar8,uVar12)" (identifier "FUN_0024dec0") (argument_list "(lVar9,puVar8,uVar12)" (( "(") (identifier "lVar9") (, ",") (identifier "puVar8") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "plVar11 = (long *)param_4[1];" (assignment_expression "plVar11 = (long *)param_4[1]" (identifier "plVar11") (= "=") (cast_expression "(long *)param_4[1]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);" (assignment_expression "uVar12 = uVar12 + *(uint *)(lVar9 + 0x44)" (identifier "uVar12") (= "=") (binary_expression "uVar12 + *(uint *)(lVar9 + 0x44)" (identifier "uVar12") (+ "+") (pointer_expression "*(uint *)(lVar9 + 0x44)" (* "*") (cast_expression "(uint *)(lVar9 + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + 0x44)" (( "(") (binary_expression "lVar9 + 0x44" (identifier "lVar9") (+ "+") (number_literal "0x44")) () ")")))))) (; ";")) (goto_statement "goto LAB_002623f0;" (goto "goto") (statement_identifier "LAB_002623f0") (; ";")) (} "}"))) (expression_statement "uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);" (assignment_expression "uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6)" (identifier "uVar12") (= "=") (call_expression "FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6)" (identifier "FUN_001eff80") (argument_list "(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6)" (( "(") (identifier "local_78") (, ",") (pointer_expression "*(undefined4 *)(lVar9 + 0x44)" (* "*") (cast_expression "(undefined4 *)(lVar9 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + 0x44)" (( "(") (binary_expression "lVar9 + 0x44" (identifier "lVar9") (+ "+") (number_literal "0x44")) () ")")))) (, ",") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if (uVar12 == 0xffffffffffffffff) {\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }" (if "if") (parenthesized_expression "(uVar12 == 0xffffffffffffffff)" (( "(") (binary_expression "uVar12 == 0xffffffffffffffff" (identifier "uVar12") (== "==") (number_literal "0xffffffffffffffff")) () ")")) (compound_statement "{\n            uVar1 = *(undefined8 *)(local_78 + 0x28);\n            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");\n            FUN_001917d0(uVar10,uVar1);\n            goto LAB_002625b1;\n          }" ({ "{") (expression_statement "uVar1 = *(undefined8 *)(local_78 + 0x28);" (assignment_expression "uVar1 = *(undefined8 *)(local_78 + 0x28)" (identifier "uVar1") (= "=") (pointer_expression "*(undefined8 *)(local_78 + 0x28)" (* "*") (cast_expression "(undefined8 *)(local_78 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 0x28)" (( "(") (binary_expression "local_78 + 0x28" (identifier "local_78") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");" (assignment_expression "uVar10 = gettext("out of patch space in section %s; relink with --incremental-full")" (identifier "uVar10") (= "=") (call_expression "gettext("out of patch space in section %s; relink with --incremental-full")" (identifier "gettext") (argument_list "("out of patch space in section %s; relink with --incremental-full")" (( "(") (string_literal ""out of patch space in section %s; relink with --incremental-full"" (" """) (string_content "out of patch space in section %s; relink with --incremental-full") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001917d0(uVar10,uVar1);" (call_expression "FUN_001917d0(uVar10,uVar1)" (identifier "FUN_001917d0") (argument_list "(uVar10,uVar1)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar1") () ")"))) (; ";")) (goto_statement "goto LAB_002625b1;" (goto "goto") (statement_identifier "LAB_002625b1") (; ";")) (} "}"))) (expression_statement "FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);" (call_expression "FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff)" (identifier "FUN_0024dec0") (argument_list "(lVar9,local_78,uVar12 & 0xffffffff)" (( "(") (identifier "lVar9") (, ",") (identifier "local_78") (, ",") (binary_expression "uVar12 & 0xffffffff" (identifier "uVar12") (& "&") (number_literal "0xffffffff")) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar11 = (long *)param_4[1];" (assignment_expression "plVar11 = (long *)param_4[1]" (identifier "plVar11") (= "=") (cast_expression "(long *)param_4[1]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))) (labeled_statement "LAB_002623f0:\n      plVar7 = plVar15;" (statement_identifier "LAB_002623f0") (: ":") (expression_statement "plVar7 = plVar15;" (assignment_expression "plVar7 = plVar15" (identifier "plVar7") (= "=") (identifier "plVar15")) (; ";"))) (} "}")) (while "while") (parenthesized_expression "((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0))" (( "(") (binary_expression "(plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0)" (parenthesized_expression "(plVar11 != plVar15)" (( "(") (binary_expression "plVar11 != plVar15" (identifier "plVar11") (!= "!=") (identifier "plVar15")) () ")")) (&& "&&") (parenthesized_expression "(lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0)" (( "(") (comma_expression "lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0" (assignment_expression "lVar4 = *plVar15" (identifier "lVar4") (= "=") (pointer_expression "*plVar15" (* "*") (identifier "plVar15"))) (, ",") (comma_expression "plVar7 = plVar11, lVar4 != 0" (assignment_expression "plVar7 = plVar11" (identifier "plVar7") (= "=") (identifier "plVar11")) (, ",") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (; ";")) (} "}")))) (if_statement "if (puVar8 != (undefined8 *)0x0) {\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined8 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    puVar8[2] = uVar12;\n  }" ({ "{") (if_statement "if ((*(byte *)(puVar8 + 4) & 2) != 0) {\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" (if "if") (parenthesized_expression "((*(byte *)(puVar8 + 4) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(puVar8 + 4) & 2) != 0" (parenthesized_expression "(*(byte *)(puVar8 + 4) & 2)" (( "(") (binary_expression "*(byte *)(puVar8 + 4) & 2" (pointer_expression "*(byte *)(puVar8 + 4)" (* "*") (cast_expression "(byte *)(puVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 4)" (( "(") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" ({ "{") (labeled_statement "LAB_002625b1:\n                    \n      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");" (statement_identifier "LAB_002625b1") (: ":") (expression_statement "FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child")" (identifier "FUN_00199900") (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x231") (, ",") (string_literal ""set_current_data_size_for_child"" (" """) (string_content "set_current_data_size_for_child") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "puVar8[2] = uVar12;" (assignment_expression "puVar8[2] = uVar12" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (} "}"))) (if_statement "if ((long *)*param_4 != plVar7) {\n    param_4[1] = *param_4;\n  }" (if "if") (parenthesized_expression "((long *)*param_4 != plVar7)" (( "(") (binary_expression "(long *)*param_4 != plVar7" (cast_expression "(long *)*param_4" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (!= "!=") (identifier "plVar7")) () ")")) (compound_statement "{\n    param_4[1] = *param_4;\n  }" ({ "{") (expression_statement "param_4[1] = *param_4;" (assignment_expression "param_4[1] = *param_4" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_allocate_commons_list<32>(Symbol_table * this, Layout * layout,
   Commons_section_type commons_section_type, Commons_type * commons, Mapfile * mapfile,
   Sort_commons_order sort_order) */

void __thiscall
var_2::type_1::function_1<32>
          (type_1 *this,type_2 *layout,type_3 var_24,
          type_4 *commons,type_5 *var_40,type_6 sort_order)

{
  type_7 *puVar1;
  var_1<var_2::var_15**,var_3::vector<var_2::var_15*,var_3::allocator<var_2::var_15*>var_4>var_4>
  var_5;
  type_8 *pTVar2;
  long var_27;
  bool var_23;
  type_7 uVar5;
  bool bVar6;
  type_2 *this_00;
  type_9 var_26;
  type_10 var_48;
  type_11 *var_42;
  var_6<32> *pSVar9;
  type_9 var_43;
  type_10 var_20;
  var_1<var_2::var_15**,var_3::vector<var_2::var_15*,var_3::allocator<var_2::var_15*>var_4>var_4>
  var_7;
  type_2 *from;
  type_2 *sym;
  type_12 *var_22;
  type_1 *var_39;
  var_1<var_2::var_15**,var_3::vector<var_2::var_15*,var_3::allocator<var_2::var_15*>var_4>var_4>
  var_8;
  char *pcVar12;
  char *pcVar13;
  type_10 var_17;
  var_9<var_2::var_28<32>var_4> var_10;
  var_11<var_2::var_28<32>var_4> var_12;
  var_11<var_2::var_28<32>var_4> var_13;
  var_11<var_2::var_28<32>var_4> var_14;
  type_11 *var_38;
  type_9 var_29;
  
  var_17 = (commons->super__Vector_base<var_2::var_15*var_16,var_3::allocator<var_2::var_15*>var_4>var_16)._M_impl.
             _M_start;
  if (var_17 ==
      (commons->super__Vector_base<var_2::var_15*,var_3::allocator<var_2::var_15*>var_4>var_16)._M_impl._M_finish
     ) {
    return;
  }
  var_22 = (type_12 *)0x0;
  sym = layout;
  bVar6 = false;
  do {
    while( true ) {
      var_20 = var_17;
      from = (type_2 *)*var_20;
      this_00 = from;
      if ((*(type_13 *)((long)&from->namepool_ + 0x2a) & 0x10) != 0) {
        this_00 = (type_2 *)var_18(this,(var_15 *)from);
        *var_20 = (var_15 *)this_00;
        sym = from;
      }
      if (((((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x70000) == 0)
          && (((this_00->namepool_).string_set_._M_h._M_rehash_policy._M_next_resize & 0x20000000)
              == 0)) &&
         (var_23 = var_15::var_19
                            ((type_14)(this_00->namepool_).string_set_._M_h._M_bucket_count), var_23))
      break;
      *var_20 = (var_15 *)0x0;
      var_17 = var_20 + 1;
      var_23 = bVar6;
      if ((commons->super__Vector_base<var_2::var_15*,var_3::allocator<var_2::var_15*>var_4>var_16)._M_impl.
          _M_finish == var_20 + 1) goto LAB_00262138;
    }
    pSVar9 = var_21<32>((type_1 *)this_00,(var_15 *)sym);
    if (var_22 < (type_12 *)(type_9)pSVar9->value_) {
      var_22 = (type_12 *)(type_9)pSVar9->value_;
    }
    var_17 = var_20 + 1;
    bVar6 = var_23;
  } while ((commons->super__Vector_base<var_2::var_15*,var_3::allocator<var_2::var_15*>var_4>var_16)._M_impl.
           _M_finish != var_20 + 1);
LAB_00262138:
  var_8._M_current = var_20 + 1;
  if (var_23 == false) {
    return;
  }
  var_5._M_current =
       (commons->super__Vector_base<var_2::var_15*,var_3::allocator<var_2::var_15*>var_4>var_16)._M_impl._M_start
  ;
  if (var_8._M_current == var_5._M_current) {
LAB_0026221c:
    if (var_24 != var_25) goto LAB_00262229;
LAB_00262453:
    pcVar13 = "** tls common";
    pcVar12 = ".tbss";
    var_26 = 0x403;
  }
  else {
    var_26 = (long)var_8._M_current - (long)var_5._M_current >> 3;
    var_27 = 0x3f;
    if (var_26 != 0) {
      for (; var_26 >> var_27 == 0; var_27 = var_27 + -1) {
      }
    }
    var_12._M_comp.sort_order_ = sort_order;
    var_12._M_comp.symtab_ = this;
    var_12._M_comp._12_4_ = 0;
    std::
    __introsort_loop<__gnu_cxx::var_1<var_2::var_15**,var_3::vector<var_2::var_15*>var_4>,_long_int,___gnu_cxx::__ops::var_11<var_2::var_28<32>var_4>var_4>
              (var_5,var_8,(0x3f - (long)(int)((type_14)var_27 ^ 0x3f)) * 2,var_12);
    if (0x80 < (long)var_8._M_current - (long)var_5._M_current) {
      var_7._M_current = var_5._M_current + 0x10;
      var_13._M_comp.sort_order_ = sort_order;
      var_13._M_comp.symtab_ = this;
      var_13._M_comp._12_4_ = 0;
      std::
      __insertion_sort<__gnu_cxx::var_1<var_2::var_15**,var_3::vector<var_2::var_15*>var_4>,___gnu_cxx::__ops::var_11<var_2::var_28<32>var_4>var_4>
                (var_5,var_7,var_13);
      for (; var_8._M_current != var_7._M_current; var_7._M_current = var_7._M_current + 1) {
        var_29 = var_29 & 0xffffffff00000000 | (type_9)sort_order;
        var_10._M_comp._8_8_ = var_29;
        var_10._M_comp.symtab_ = this;
        std::
        __unguarded_linear_insert<__gnu_cxx::var_1<var_2::var_15**,var_3::vector<var_2::var_15*>var_4>,___gnu_cxx::__ops::var_9<var_2::var_28<32>var_4>var_4>
                  (var_7,var_10);
      }
      goto LAB_0026221c;
    }
    var_14._M_comp.sort_order_ = sort_order;
    var_14._M_comp.symtab_ = this;
    var_14._M_comp._12_4_ = 0;
    std::
    __insertion_sort<__gnu_cxx::var_1<var_2::var_15**,var_3::vector<var_2::var_15*>var_4>,___gnu_cxx::__ops::var_11<var_2::var_28<32>var_4>var_4>
              (var_5,var_8,var_14);
    if (var_24 == var_25) goto LAB_00262453;
LAB_00262229:
    if (var_24 == var_30) {
      pcVar13 = "** common";
      pcVar12 = &DAT_0033f44c;
      var_26 = 3;
    }
    else {
      if (var_24 == var_31) {
        if (parameters->target_ == (type_15 *)0x0) {
LAB_00262560:
                    /* WARNING: Subroutine does not return */
          var_32("../../gold/parameters.h",0x69,"target");
        }
        pTVar2 = parameters->target_->pti_;
        if (pTVar2->small_common_shndx == 0) {
                    /* WARNING: Subroutine does not return */
          var_32("../../gold/target.h",0xc5,"small_common_section_flags");
        }
        pcVar13 = "** small common";
        pcVar12 = ".sbss";
        var_26 = pTVar2->small_common_section_flags | 3;
        uVar5 = Parameters::var_33(parameters);
        goto joined_r0x00262324;
      }
      if (var_24 != var_34) {
                    /* WARNING: Subroutine does not return */
        var_32("../../gold/common.cc",0x11b,"do_allocate_commons_list");
      }
      if (parameters->target_ == (type_15 *)0x0) goto LAB_00262560;
      pTVar2 = parameters->target_->pti_;
      if (pTVar2->large_common_shndx == 0) {
                    /* WARNING: Subroutine does not return */
        var_32("../../gold/target.h",0xd5,"large_common_section_flags");
      }
      pcVar13 = "** large common";
      pcVar12 = ".lbss";
      var_26 = pTVar2->large_common_section_flags | 3;
    }
  }
  uVar5 = Parameters::var_33(parameters);
joined_r0x00262324:
  if ((bool)uVar5) {
    var_42 = (type_11 *)0x0;
    var_38 = type_2::var_35(layout,pcVar12);
  }
  else {
    var_42 = (type_11 *)var_36(0x40);
    puVar1 = &(var_42->super_Output_data).field_0x20;
    *puVar1 = *puVar1 & 0xe0;
    (var_42->super_Output_data).address_ = 0;
    (var_42->super_Output_data).data_size_ = 0;
    (var_42->super_Output_data).offset_ = -1;
    *(type_11 **)&var_42->name_ = (type_11 *)0x0;
    var_42->addralign_ = (uint64_t)var_22;
    (var_42->super_Output_data)._vptr_Output_data =
         (type_16 **)&PTR__Output_data_space_003ec600;
    var_42->entsize_ = (uint64_t)pcVar13;
    var_38 = type_2::var_37
                         (layout,pcVar12,8,var_26,(type_17 *)var_42,ORDER_INVALID,false);
  }
  if (var_38 != (type_11 *)0x0) {
    if (var_24 == var_31) {
      var_38->field_0xc9 = var_38->field_0xc9 | 0x40;
    }
    else if (var_24 == var_34) {
      var_38->field_0xc9 = var_38->field_0xc9 | 0x80;
    }
  }
  var_20 = (commons->super__Vector_base<var_2::var_15*var_16,var_3::allocator<var_2::var_15*>var_4>var_16)._M_impl.
             _M_finish;
  var_17 = (commons->super__Vector_base<var_2::var_15*var_16,var_3::allocator<var_2::var_15*>var_4>var_16)._M_impl.
             _M_start;
  if ((var_17 == var_20) ||
     (var_39 = (type_1 *)*var_17, var_39 == (type_1 *)0x0)) {
    var_26 = 0;
    var_48 = var_20;
  }
  else {
    var_26 = 0;
    do {
      var_17 = var_17 + 1;
      if ((((var_39->table_)._M_h._M_bucket_count & 0x70000) == 0) &&
         (((var_39->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {
        bVar6 = var_15::var_19(var_39->output_count_);
        if (bVar6) {
          pSVar9 = var_21<32>(var_39,(var_15 *)pcVar12);
          if (var_40 != (type_5 *)0x0) {
            Mapfile::var_41(var_40,(var_15 *)var_39,(type_9)pSVar9->symsize_);
          }
          var_43 = (type_9)pSVar9->value_;
          if (var_42 != (type_11 *)0x0) {
            if (var_43 != 0) {
              var_26 = var_26 + (var_43 - 1) & -var_43;
            }
            pcVar12 = (char *)var_42;
            var_6<32>::var_44(pSVar9,&var_42->super_Output_data,(type_18)var_26);
            var_20 = (commons->super__Vector_base<var_2::var_15*var_16,var_3::allocator<var_2::var_15*>var_4>var_16).
                       _M_impl._M_finish;
            var_26 = var_26 + pSVar9->symsize_;
            goto LAB_002623f0;
          }
          var_26 = type_11::var_45(var_38,(type_9)pSVar9->symsize_,var_43);
          if (var_26 == 0xffffffffffffffff) {
            pcVar12 = var_38->name_;
            pcVar13 = (char *)var_46(
                                     "out of patch space in section %s; relink with --incremental-full"
                                     );
                    /* WARNING: Subroutine does not return */
            var_47(pcVar13,pcVar12);
          }
          pcVar12 = (char *)var_38;
          var_6<32>::var_44(pSVar9,&var_38->super_Output_data,(type_18)var_26);
        }
        var_20 = (commons->super__Vector_base<var_2::var_15*var_16,var_3::allocator<var_2::var_15*>var_4>var_16).
                   _M_impl._M_finish;
      }
LAB_002623f0:
      var_48 = var_17;
    } while ((var_20 != var_17) &&
            (var_39 = (type_1 *)*var_17, var_48 = var_20, var_39 != (type_1 *)0x0
            ));
  }
  if (var_42 != (type_11 *)0x0) {
    if (((var_42->super_Output_data).field_0x20 & 2) != 0) {
                    /* WARNING: Subroutine does not return */
      var_32("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    (var_42->super_Output_data).data_size_ = var_26;
  }
  var_17 = (commons->super__Vector_base<var_2::var_15*var_16,var_3::allocator<var_2::var_15*>var_4>var_16)._M_impl.
             _M_start;
  if (var_17 != var_48) {
    (commons->super__Vector_base<var_2::var_15*,var_3::allocator<var_2::var_15*>var_4>var_16)._M_impl._M_finish =
         var_17;
  }
  return;
}


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

void MASKED(undefined8 param_1,undefined8 param_2,int param_3,long *param_4,long param_5,
                 uint param_6)

{
  undefined8 uVar1;
  char cVar2;
  char cVar3;
  long lVar4;
  ulong uVar5;
  ulong uVar6;
  long *plVar7;
  undefined8 *puVar8;
  long lVar9;
  undefined8 uVar10;
  long *plVar11;
  ulong uVar12;
  char *pcVar13;
  char *pcVar14;
  long *plVar15;
  long local_78;
  ulong uStack_48;
  
  if ((long *)*param_4 == (long *)param_4[1]) {
    return;
  }
  uVar12 = 0;
  plVar15 = (long *)*param_4;
  cVar3 = '\0';
  do {
    while( true ) {
      plVar11 = plVar15;
      lVar4 = *plVar11;
      if ((*(byte *)(lVar4 + 0x3a) & 0x10) != 0) {
        lVar4 = FUN_0024aed0(param_1,lVar4);
        *plVar11 = lVar4;
      }
      if ((((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) &&
         (cVar2 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18)), cVar2 != '\0')) break;
      *plVar11 = 0;
      plVar15 = plVar11 + 1;
      cVar2 = cVar3;
      if ((long *)param_4[1] == plVar11 + 1) goto LAB_00262138;
    }
    lVar4 = FUN_00261690(lVar4);
    if (uVar12 < *(uint *)(lVar4 + 0x40)) {
      uVar12 = (ulong)*(uint *)(lVar4 + 0x40);
    }
    plVar15 = plVar11 + 1;
    cVar3 = cVar2;
  } while ((long *)param_4[1] != plVar11 + 1);
LAB_00262138:
  plVar11 = plVar11 + 1;
  if (cVar2 == '\0') {
    return;
  }
  uVar6 = (ulong)param_6;
  plVar15 = (long *)*param_4;
  if (plVar11 == plVar15) {
LAB_0026221c:
    if (param_3 != 1) goto LAB_00262229;
LAB_00262453:
    pcVar14 = "** tls common";
    pcVar13 = ".tbss";
    uVar6 = 0x403;
  }
  else {
    uVar5 = (long)plVar11 - (long)plVar15 >> 3;
    lVar4 = 0x3f;
    if (uVar5 != 0) {
      for (; uVar5 >> lVar4 == 0; lVar4 = lVar4 + -1) {
      }
    }
    FUN_00261dc0(plVar15,plVar11,(0x3f - (long)(int)((uint)lVar4 ^ 0x3f)) * 2,param_1,uVar6);
    if (0x80 < (long)plVar11 - (long)plVar15) {
      plVar7 = plVar15 + 0x10;
      FUN_00261990(plVar15,plVar7,param_1,uVar6);
      for (; plVar11 != plVar7; plVar7 = plVar7 + 1) {
        uStack_48 = uStack_48 & 0xffffffff00000000 | uVar6;
        FUN_00261940(plVar7,param_1,uStack_48);
      }
      goto LAB_0026221c;
    }
    FUN_00261990(plVar15,plVar11,param_1,uVar6);
    if (param_3 == 1) goto LAB_00262453;
LAB_00262229:
    if (param_3 == 0) {
      pcVar14 = "** common";
      pcVar13 = ".bss";
      uVar6 = 3;
    }
    else {
      if (param_3 == 2) {
        if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {
LAB_00262560:
                    /* WARNING: Subroutine does not return */
          FUN_00199900("../../gold/parameters.h",0x69,"target");
        }
        lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);
        if (*(short *)(lVar4 + 0x48) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00199900("../../gold/target.h",0xc5,"small_common_section_flags");
        }
        pcVar14 = "** small common";
        pcVar13 = ".sbss";
        uVar6 = *(ulong *)(lVar4 + 0x50) | 3;
        cVar3 = FUN_0021a540();
        goto joined_r0x00262324;
      }
      if (param_3 != 3) {
                    /* WARNING: Subroutine does not return */
        FUN_00199900("../../gold/common.cc",0x11b,"do_allocate_commons_list");
      }
      if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) goto LAB_00262560;
      lVar4 = *(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8);
      if (*(short *)(lVar4 + 0x4a) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00199900("../../gold/target.h",0xd5,"large_common_section_flags");
      }
      pcVar14 = "** large common";
      pcVar13 = ".lbss";
      uVar6 = *(ulong *)(lVar4 + 0x58) | 3;
    }
  }
  cVar3 = FUN_0021a540(PTR_DAT_003f85c0);
joined_r0x00262324:
  if (cVar3 == '\0') {
    puVar8 = (undefined8 *)FUN_002a11b0(0x40);
    *(byte *)(puVar8 + 4) = *(byte *)(puVar8 + 4) & 0xe0;
    puVar8[1] = 0;
    puVar8[2] = 0;
    puVar8[3] = 0xffffffffffffffff;
    puVar8[5] = 0;
    puVar8[6] = uVar12;
    *puVar8 = &PTR_FUN_003ec600;
    puVar8[7] = pcVar14;
    local_78 = FUN_001bc730(param_2,pcVar13,8,uVar6,puVar8,0,0);
  }
  else {
    puVar8 = (undefined8 *)0x0;
    local_78 = FUN_001b3d50(param_2,pcVar13);
  }
  if (local_78 != 0) {
    if (param_3 == 2) {
      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x40;
    }
    else if (param_3 == 3) {
      *(byte *)(local_78 + 0xc9) = *(byte *)(local_78 + 0xc9) | 0x80;
    }
  }
  plVar11 = (long *)param_4[1];
  plVar15 = (long *)*param_4;
  if ((plVar15 == plVar11) || (lVar4 = *plVar15, lVar4 == 0)) {
    uVar12 = 0;
    plVar7 = plVar11;
  }
  else {
    uVar12 = 0;
    do {
      plVar15 = plVar15 + 1;
      if (((*(byte *)(lVar4 + 0x3a) & 7) == 0) && ((*(byte *)(lVar4 + 0x3b) & 0x20) == 0)) {
        cVar3 = FUN_0024aae0(*(undefined4 *)(lVar4 + 0x18));
        if (cVar3 != '\0') {
          lVar9 = FUN_00261690(lVar4);
          if (param_5 != 0) {
            FUN_001c6b10(param_5,lVar4,*(undefined4 *)(lVar9 + 0x44));
          }
          uVar6 = (ulong)*(uint *)(lVar9 + 0x40);
          if (puVar8 != (undefined8 *)0x0) {
            if (uVar6 != 0) {
              uVar12 = (uVar12 - 1) + uVar6 & -uVar6;
            }
            FUN_0024dec0(lVar9,puVar8,uVar12);
            plVar11 = (long *)param_4[1];
            uVar12 = uVar12 + *(uint *)(lVar9 + 0x44);
            goto LAB_002623f0;
          }
          uVar12 = FUN_001eff80(local_78,*(undefined4 *)(lVar9 + 0x44),uVar6);
          if (uVar12 == 0xffffffffffffffff) {
            uVar1 = *(undefined8 *)(local_78 + 0x28);
            uVar10 = gettext("out of patch space in section %s; relink with --incremental-full");
            FUN_001917d0(uVar10,uVar1);
            goto LAB_002625b1;
          }
          FUN_0024dec0(lVar9,local_78,uVar12 & 0xffffffff);
        }
        plVar11 = (long *)param_4[1];
      }
LAB_002623f0:
      plVar7 = plVar15;
    } while ((plVar11 != plVar15) && (lVar4 = *plVar15, plVar7 = plVar11, lVar4 != 0));
  }
  if (puVar8 != (undefined8 *)0x0) {
    if ((*(byte *)(puVar8 + 4) & 2) != 0) {
LAB_002625b1:
                    /* WARNING: Subroutine does not return */
      FUN_00199900("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    puVar8[2] = uVar12;
  }
  if ((long *)*param_4 != plVar7) {
    param_4[1] = *param_4;
  }
  return;
}

