
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* DWARF original name: __move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,
   std::vector<gold::Input_section_info> >, gold::Input_section_info*,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Input_section_sorter> > */

Input_section_info *
std::
__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info>_>,_gold::Input_section_info*,___gnu_cxx::__ops::_Iter_comp_iter<gold::Input_section_sorter>_>
          (__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>
           __first1,
          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>
          __last1,__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>
                  __first2,
          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>
          __last2,Input_section_info *__result,_Iter_comp_iter<gold::Input_section_sorter> __comp)

{
  undefined3 extraout_var;
  bool bVar1;
  uint uVar2;
  size_type sVar3;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar4;
  undefined1 *puVar5;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar6;
  anon_union_4_4_139239c7_for_u2_ aVar7;
  pointer pcVar8;
  size_type sVar9;
  undefined4 uVar10;
  size_type sVar11;
  undefined4 uVar12;
  size_type sVar13;
  uint uVar14;
  Input_section_info *pIVar15;
  Input_section_info *pIVar16;
  int iVar17;
  size_type *psVar18;
  int iVar19;
  
  if (__first1._M_current == __last1._M_current) {
LAB_002190ec:
    iVar17 = (int)__last2._M_current - (int)__first2._M_current >> 6;
    if (0 < (int)__last2._M_current - (int)__first2._M_current) {
      pIVar16 = __result;
      paVar6 = &((__first2._M_current)->section_name_).field_2;
      do {
        while( true ) {
          sVar13 = *(size_type *)((int)paVar6 + -0x1c);
          sVar11 = *(size_type *)((int)paVar6 + -0x18);
          sVar9 = *(size_type *)((int)paVar6 + -0x14);
          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);
          sVar3 = *(size_type *)((int)paVar6 + -0xc);
          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                    *)(pIVar16->section_name_)._M_dataplus._M_p;
          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;
          (pIVar16->input_section_).p2align_ = sVar13;
          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;
          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;
          (pIVar16->input_section_).u2_ = aVar7;
          (pIVar16->input_section_).section_order_index_ = sVar3;
          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;
          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                         *)psVar18) break;
          sVar3 = *(size_type *)((int)paVar6 + -4);
          if (sVar3 != 0) {
            if (sVar3 == 1) {
              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];
              sVar3 = *(size_type *)((int)paVar6 + -4);
              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                        *)(pIVar16->section_name_)._M_dataplus._M_p;
            }
            else {
              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);
              sVar3 = *(size_type *)((int)paVar6 + -4);
              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                        *)(pIVar16->section_name_)._M_dataplus._M_p;
            }
          }
          (pIVar16->section_name_)._M_string_length = sVar3;
          pIVar15 = pIVar16 + 1;
          paVar4->_M_local_buf[sVar3] = '\0';
          iVar17 = iVar17 + -1;
          puVar5 = (undefined1 *)psVar18[-2];
          *(size_type *)((int)paVar6 + -4) = 0;
          *puVar5 = 0;
          sVar3 = paVar6[1]._M_allocated_capacity;
          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);
          *(size_type *)&pIVar16->size_ = sVar3;
          sVar3 = *(size_type *)((int)paVar6 + 0x18);
          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);
          *(size_type *)&pIVar16->addralign_ = sVar3;
          pIVar16 = pIVar15;
          paVar6 = paVar6 + 4;
          if (iVar17 == 0) {
            return pIVar15;
          }
        }
        (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;
        if (paVar4 == &(pIVar16->section_name_).field_2) {
          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);
          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;
LAB_00219478:
          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;
          paVar4 = paVar6;
        }
        else {
          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;
          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);
          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;
          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                         *)0x0) goto LAB_00219478;
          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;
          paVar6->_M_allocated_capacity = sVar3;
        }
        *(size_type *)((int)paVar6 + -4) = 0;
        __result = pIVar16 + 1;
        paVar4->_M_local_buf[0] = '\0';
        iVar17 = iVar17 + -1;
        sVar3 = paVar6[1]._M_allocated_capacity;
        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);
        *(size_type *)&pIVar16->size_ = sVar3;
        sVar3 = *(size_type *)((int)paVar6 + 0x18);
        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);
        *(size_type *)&pIVar16->addralign_ = sVar3;
        pIVar16 = __result;
        paVar6 = paVar6 + 4;
      } while (iVar17 != 0);
    }
  }
  else {
    if (__first2._M_current == __last2._M_current) {
      iVar17 = -(int)__first1._M_current;
    }
    else {
      pIVar16 = __result;
      do {
        bVar1 = gold::Input_section_sorter::operator()
                          (&__comp._M_comp,__first2._M_current,__first1._M_current);
        if (CONCAT31(extraout_var,bVar1) == 0) {
          aVar7 = ((__first1._M_current)->input_section_).u2_;
          paVar6 = &((__first1._M_current)->section_name_).field_2;
          uVar14 = ((__first1._M_current)->input_section_).p2align_;
          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;
          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);
          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;
          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                    *)(pIVar16->section_name_)._M_dataplus._M_p;
          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;
          (pIVar16->input_section_).p2align_ = uVar14;
          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;
          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;
          (pIVar16->input_section_).u2_ = aVar7;
          (pIVar16->input_section_).section_order_index_ = uVar2;
          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)pcVar8 == paVar6) {
            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;
            if (sVar3 != 0) {
              if (sVar3 == 1) {
                paVar4->_M_local_buf[0] =
                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];
                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;
                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;
                (pIVar16->section_name_)._M_string_length = sVar3;
                pcVar8[sVar3] = '\0';
                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;
                goto LAB_002190b8;
              }
              (*(code *)PTR_memcpy_00436788)();
              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;
              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                        *)(pIVar16->section_name_)._M_dataplus._M_p;
            }
            (pIVar16->section_name_)._M_string_length = sVar3;
            paVar4->_M_local_buf[sVar3] = '\0';
            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;
          }
          else {
            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;
            if (paVar4 == &(pIVar16->section_name_).field_2) {
              (pIVar16->section_name_)._M_string_length =
                   ((__first1._M_current)->section_name_)._M_string_length;
              (pIVar16->section_name_).field_2._M_allocated_capacity =
                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;
            }
            else {
              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;
              (pIVar16->section_name_)._M_string_length =
                   ((__first1._M_current)->section_name_)._M_string_length;
              (pIVar16->section_name_).field_2._M_allocated_capacity =
                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;
              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                             *)0x0) {
                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;
                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;
                paVar6 = paVar4;
                goto LAB_002190b8;
              }
            }
            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;
          }
LAB_002190b8:
          ((__first1._M_current)->section_name_)._M_string_length = 0;
          paVar6->_M_local_buf[0] = '\0';
          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;
          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;
          *(undefined4 *)&pIVar16->size_ = uVar10;
          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;
          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;
          *(undefined4 *)&pIVar16->addralign_ = uVar10;
          __first1._M_current = __first1._M_current + 1;
        }
        else {
          aVar7 = ((__first2._M_current)->input_section_).u2_;
          paVar6 = &((__first2._M_current)->section_name_).field_2;
          uVar14 = ((__first2._M_current)->input_section_).p2align_;
          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;
          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);
          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;
          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                    *)(pIVar16->section_name_)._M_dataplus._M_p;
          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;
          (pIVar16->input_section_).p2align_ = uVar14;
          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;
          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;
          (pIVar16->input_section_).u2_ = aVar7;
          (pIVar16->input_section_).section_order_index_ = uVar2;
          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)pcVar8 == paVar6) {
            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;
            if (sVar3 != 0) {
              if (sVar3 == 1) {
                paVar4->_M_local_buf[0] =
                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];
                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;
                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;
                (pIVar16->section_name_)._M_string_length = sVar3;
                pcVar8[sVar3] = '\0';
                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;
                goto LAB_00218ff4;
              }
              (*(code *)PTR_memcpy_00436788)();
              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;
              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                        *)(pIVar16->section_name_)._M_dataplus._M_p;
            }
            (pIVar16->section_name_)._M_string_length = sVar3;
            paVar4->_M_local_buf[sVar3] = '\0';
            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;
          }
          else {
            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;
            if (paVar4 == &(pIVar16->section_name_).field_2) {
              (pIVar16->section_name_)._M_string_length =
                   ((__first2._M_current)->section_name_)._M_string_length;
              (pIVar16->section_name_).field_2._M_allocated_capacity =
                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;
            }
            else {
              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;
              (pIVar16->section_name_)._M_string_length =
                   ((__first2._M_current)->section_name_)._M_string_length;
              (pIVar16->section_name_).field_2._M_allocated_capacity =
                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;
              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                             *)0x0) {
                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;
                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;
                paVar6 = paVar4;
                goto LAB_00218ff4;
              }
            }
            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;
          }
LAB_00218ff4:
          ((__first2._M_current)->section_name_)._M_string_length = 0;
          paVar6->_M_local_buf[0] = '\0';
          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;
          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;
          *(undefined4 *)&pIVar16->size_ = uVar10;
          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;
          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;
          *(undefined4 *)&pIVar16->addralign_ = uVar10;
          __first2._M_current = __first2._M_current + 1;
        }
        __result = pIVar16 + 1;
        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;
        __result = pIVar16 + 1;
        iVar17 = -(int)__first1._M_current;
        pIVar16 = __result;
      } while (__first2._M_current != __last2._M_current);
    }
    iVar17 = (int)&((__last1._M_current)->input_section_).shndx_ + iVar17;
    iVar19 = iVar17 >> 6;
    if (0 < iVar17) {
      pIVar16 = __result;
      paVar6 = &((__first1._M_current)->section_name_).field_2;
      do {
        sVar13 = *(size_type *)((int)paVar6 + -0x1c);
        sVar11 = *(size_type *)((int)paVar6 + -0x18);
        sVar9 = *(size_type *)((int)paVar6 + -0x14);
        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);
        sVar3 = *(size_type *)((int)paVar6 + -0xc);
        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                  *)(pIVar16->section_name_)._M_dataplus._M_p;
        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;
        (pIVar16->input_section_).p2align_ = sVar13;
        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;
        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;
        (pIVar16->input_section_).u2_ = aVar7;
        (pIVar16->input_section_).section_order_index_ = sVar3;
        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;
        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                       *)psVar18) {
          sVar3 = *(size_type *)((int)paVar6 + -4);
          if (sVar3 != 0) {
            if (sVar3 == 1) {
              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];
              sVar3 = *(size_type *)((int)paVar6 + -4);
              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                        *)(pIVar16->section_name_)._M_dataplus._M_p;
            }
            else {
              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);
              sVar3 = *(size_type *)((int)paVar6 + -4);
              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                        *)(pIVar16->section_name_)._M_dataplus._M_p;
            }
          }
          (pIVar16->section_name_)._M_string_length = sVar3;
          paVar4->_M_local_buf[sVar3] = '\0';
          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                    *)psVar18[-2];
        }
        else {
          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;
          if (paVar4 == &(pIVar16->section_name_).field_2) {
            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);
            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;
          }
          else {
            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;
            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);
            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;
            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                           *)0x0) {
              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;
              paVar6->_M_allocated_capacity = sVar3;
              goto LAB_00219384;
            }
          }
          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;
          paVar4 = paVar6;
        }
LAB_00219384:
        *(size_type *)((int)paVar6 + -4) = 0;
        __result = pIVar16 + 1;
        paVar4->_M_local_buf[0] = '\0';
        iVar19 = iVar19 + -1;
        sVar3 = paVar6[1]._M_allocated_capacity;
        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);
        *(size_type *)&pIVar16->size_ = sVar3;
        sVar3 = *(size_type *)((int)paVar6 + 0x18);
        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);
        *(size_type *)&pIVar16->addralign_ = sVar3;
        pIVar16 = __result;
        paVar6 = paVar6 + 4;
      } while (iVar19 != 0);
    }
  }
  return __result;
}



/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* gold::Input_section_info* std::__move_merge<__normal_iterator<gold::Input_section_info*,
   std::vector<gold::Input_section_info, std::allocator<gold::Input_section_info> > >,
   gold::Input_section_info*, __ops::_Iter_comp_iter<gold::Input_section_sorter>
   >(__normal_iterator<gold::Input_section_info*, std::vector<gold::Input_section_info,
   std::allocator<gold::Input_section_info> > >, __normal_iterator<gold::Input_section_info*,
   std::vector<gold::Input_section_info, std::allocator<gold::Input_section_info> > >,
   __normal_iterator<gold::Input_section_info*, std::vector<gold::Input_section_info,
   std::allocator<gold::Input_section_info> > >, __normal_iterator<gold::Input_section_info*,
   std::vector<gold::Input_section_info, std::allocator<gold::Input_section_info> > >,
   gold::Input_section_info*, __ops::_Iter_comp_iter<gold::Input_section_sorter>) */

Input_section_info *
std::
__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold::Input_section_sorter>>
          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,
          Input_section_info *param_4,Input_section_info *param_5)

{
  int iVar1;
  Input_section_info *pIVar2;
  undefined4 uVar3;
  Input_section_info *pIVar4;
  undefined1 *puVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  int iVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  Input_section_info *pIVar11;
  Input_section_info *pIVar12;
  Input_section_info *pIVar13;
  
  if (param_1 == param_2) {
LAB_002190ec:
    iVar1 = (int)param_4 - (int)param_3 >> 6;
    if (0 < (int)param_4 - (int)param_3) {
      pIVar12 = param_5;
      pIVar2 = param_3 + 0x20;
      do {
        while( true ) {
          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);
          uVar9 = *(undefined4 *)(pIVar2 + -0x18);
          uVar7 = *(undefined4 *)(pIVar2 + -0x14);
          uVar6 = *(undefined4 *)(pIVar2 + -0x10);
          uVar3 = *(undefined4 *)(pIVar2 + -0xc);
          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);
          *(undefined4 *)(pIVar12 + 4) = uVar10;
          *(undefined4 *)(pIVar12 + 8) = uVar9;
          *(undefined4 *)(pIVar12 + 0xc) = uVar7;
          *(undefined4 *)(pIVar12 + 0x10) = uVar6;
          *(undefined4 *)(pIVar12 + 0x14) = uVar3;
          pIVar13 = *(Input_section_info **)(pIVar2 + -8);
          if (pIVar2 != pIVar13) break;
          iVar8 = *(int *)(pIVar2 + -4);
          if (iVar8 != 0) {
            if (iVar8 == 1) {
              *pIVar4 = *pIVar2;
              iVar8 = *(int *)(pIVar2 + -4);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
            else {
              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);
              iVar8 = *(int *)(pIVar2 + -4);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
          }
          *(int *)(pIVar12 + 0x1c) = iVar8;
          pIVar11 = pIVar12 + 0x40;
          pIVar4[iVar8] = (Input_section_info)0x0;
          iVar1 = iVar1 + -1;
          puVar5 = *(undefined1 **)(pIVar13 + -8);
          *(undefined4 *)(pIVar2 + -4) = 0;
          *puVar5 = 0;
          uVar3 = *(undefined4 *)(pIVar2 + 0x10);
          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);
          *(undefined4 *)(pIVar12 + 0x30) = uVar3;
          uVar3 = *(undefined4 *)(pIVar2 + 0x18);
          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);
          *(undefined4 *)(pIVar12 + 0x38) = uVar3;
          pIVar12 = pIVar11;
          pIVar2 = pIVar2 + 0x40;
          if (iVar1 == 0) {
            return pIVar11;
          }
        }
        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;
        if (pIVar4 == pIVar12 + 0x20) {
          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);
          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;
LAB_00219478:
          *(Input_section_info **)(pIVar2 + -8) = pIVar2;
          pIVar4 = pIVar2;
        }
        else {
          uVar3 = *(undefined4 *)(pIVar12 + 0x20);
          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);
          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;
          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;
          *(Input_section_info **)(pIVar2 + -8) = pIVar4;
          *(undefined4 *)pIVar2 = uVar3;
        }
        *(undefined4 *)(pIVar2 + -4) = 0;
        param_5 = pIVar12 + 0x40;
        *pIVar4 = (Input_section_info)0x0;
        iVar1 = iVar1 + -1;
        uVar3 = *(undefined4 *)(pIVar2 + 0x10);
        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);
        *(undefined4 *)(pIVar12 + 0x30) = uVar3;
        uVar3 = *(undefined4 *)(pIVar2 + 0x18);
        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);
        *(undefined4 *)(pIVar12 + 0x38) = uVar3;
        pIVar12 = param_5;
        pIVar2 = pIVar2 + 0x40;
      } while (iVar1 != 0);
    }
  }
  else {
    if (param_3 == param_4) {
      iVar1 = -(int)param_1;
    }
    else {
      pIVar12 = param_5;
      do {
        iVar1 = gold::Input_section_sorter::operator()
                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);
        if (iVar1 == 0) {
          uVar6 = *(undefined4 *)(param_1 + 0x10);
          pIVar2 = param_1 + 0x20;
          uVar10 = *(undefined4 *)(param_1 + 4);
          uVar9 = *(undefined4 *)(param_1 + 8);
          uVar7 = *(undefined4 *)(param_1 + 0xc);
          uVar3 = *(undefined4 *)(param_1 + 0x14);
          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;
          *(undefined4 *)(pIVar12 + 4) = uVar10;
          *(undefined4 *)(pIVar12 + 8) = uVar9;
          *(undefined4 *)(pIVar12 + 0xc) = uVar7;
          *(undefined4 *)(pIVar12 + 0x10) = uVar6;
          *(undefined4 *)(pIVar12 + 0x14) = uVar3;
          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {
            iVar1 = *(int *)(param_1 + 0x1c);
            if (iVar1 != 0) {
              if (iVar1 == 1) {
                *pIVar4 = param_1[0x20];
                iVar1 = *(int *)(param_1 + 0x1c);
                *(int *)(pIVar12 + 0x1c) = iVar1;
                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;
                pIVar2 = *(Input_section_info **)(param_1 + 0x18);
                goto LAB_002190b8;
              }
              (*(code *)PTR_memcpy_00436788)();
              iVar1 = *(int *)(param_1 + 0x1c);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
            *(int *)(pIVar12 + 0x1c) = iVar1;
            pIVar4[iVar1] = (Input_section_info)0x0;
            pIVar2 = *(Input_section_info **)(param_1 + 0x18);
          }
          else {
            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);
            if (pIVar4 == pIVar12 + 0x20) {
              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);
              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);
            }
            else {
              uVar3 = *(undefined4 *)(pIVar12 + 0x20);
              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);
              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);
              if (pIVar4 != (Input_section_info *)0x0) {
                *(Input_section_info **)(param_1 + 0x18) = pIVar4;
                *(undefined4 *)(param_1 + 0x20) = uVar3;
                pIVar2 = pIVar4;
                goto LAB_002190b8;
              }
            }
            *(Input_section_info **)(param_1 + 0x18) = pIVar2;
          }
LAB_002190b8:
          *(undefined4 *)(param_1 + 0x1c) = 0;
          *pIVar2 = (Input_section_info)0x0;
          uVar3 = *(undefined4 *)(param_1 + 0x30);
          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);
          *(undefined4 *)(pIVar12 + 0x30) = uVar3;
          uVar3 = *(undefined4 *)(param_1 + 0x38);
          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);
          *(undefined4 *)(pIVar12 + 0x38) = uVar3;
          param_1 = param_1 + 0x40;
        }
        else {
          uVar6 = *(undefined4 *)(param_3 + 0x10);
          pIVar2 = param_3 + 0x20;
          uVar10 = *(undefined4 *)(param_3 + 4);
          uVar9 = *(undefined4 *)(param_3 + 8);
          uVar7 = *(undefined4 *)(param_3 + 0xc);
          uVar3 = *(undefined4 *)(param_3 + 0x14);
          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;
          *(undefined4 *)(pIVar12 + 4) = uVar10;
          *(undefined4 *)(pIVar12 + 8) = uVar9;
          *(undefined4 *)(pIVar12 + 0xc) = uVar7;
          *(undefined4 *)(pIVar12 + 0x10) = uVar6;
          *(undefined4 *)(pIVar12 + 0x14) = uVar3;
          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {
            iVar1 = *(int *)(param_3 + 0x1c);
            if (iVar1 != 0) {
              if (iVar1 == 1) {
                *pIVar4 = param_3[0x20];
                iVar1 = *(int *)(param_3 + 0x1c);
                *(int *)(pIVar12 + 0x1c) = iVar1;
                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;
                pIVar2 = *(Input_section_info **)(param_3 + 0x18);
                goto LAB_00218ff4;
              }
              (*(code *)PTR_memcpy_00436788)();
              iVar1 = *(int *)(param_3 + 0x1c);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
            *(int *)(pIVar12 + 0x1c) = iVar1;
            pIVar4[iVar1] = (Input_section_info)0x0;
            pIVar2 = *(Input_section_info **)(param_3 + 0x18);
          }
          else {
            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);
            if (pIVar4 == pIVar12 + 0x20) {
              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);
              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);
            }
            else {
              uVar3 = *(undefined4 *)(pIVar12 + 0x20);
              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);
              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);
              if (pIVar4 != (Input_section_info *)0x0) {
                *(Input_section_info **)(param_3 + 0x18) = pIVar4;
                *(undefined4 *)(param_3 + 0x20) = uVar3;
                pIVar2 = pIVar4;
                goto LAB_00218ff4;
              }
            }
            *(Input_section_info **)(param_3 + 0x18) = pIVar2;
          }
LAB_00218ff4:
          *(undefined4 *)(param_3 + 0x1c) = 0;
          *pIVar2 = (Input_section_info)0x0;
          uVar3 = *(undefined4 *)(param_3 + 0x30);
          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);
          *(undefined4 *)(pIVar12 + 0x30) = uVar3;
          uVar3 = *(undefined4 *)(param_3 + 0x38);
          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);
          *(undefined4 *)(pIVar12 + 0x38) = uVar3;
          param_3 = param_3 + 0x40;
        }
        param_5 = pIVar12 + 0x40;
        if (param_1 == param_2) goto LAB_002190ec;
        param_5 = pIVar12 + 0x40;
        iVar1 = -(int)param_1;
        pIVar12 = param_5;
      } while (param_3 != param_4);
    }
    iVar8 = (int)(param_2 + iVar1) >> 6;
    if (0 < (int)(param_2 + iVar1)) {
      pIVar12 = param_5;
      pIVar2 = param_1 + 0x20;
      do {
        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);
        uVar9 = *(undefined4 *)(pIVar2 + -0x18);
        uVar7 = *(undefined4 *)(pIVar2 + -0x14);
        uVar6 = *(undefined4 *)(pIVar2 + -0x10);
        uVar3 = *(undefined4 *)(pIVar2 + -0xc);
        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);
        *(undefined4 *)(pIVar12 + 4) = uVar10;
        *(undefined4 *)(pIVar12 + 8) = uVar9;
        *(undefined4 *)(pIVar12 + 0xc) = uVar7;
        *(undefined4 *)(pIVar12 + 0x10) = uVar6;
        *(undefined4 *)(pIVar12 + 0x14) = uVar3;
        pIVar13 = *(Input_section_info **)(pIVar2 + -8);
        if (pIVar2 == pIVar13) {
          iVar1 = *(int *)(pIVar2 + -4);
          if (iVar1 != 0) {
            if (iVar1 == 1) {
              *pIVar4 = *pIVar2;
              iVar1 = *(int *)(pIVar2 + -4);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
            else {
              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);
              iVar1 = *(int *)(pIVar2 + -4);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
          }
          *(int *)(pIVar12 + 0x1c) = iVar1;
          pIVar4[iVar1] = (Input_section_info)0x0;
          pIVar4 = *(Input_section_info **)(pIVar13 + -8);
        }
        else {
          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;
          if (pIVar4 == pIVar12 + 0x20) {
            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);
            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;
          }
          else {
            uVar3 = *(undefined4 *)(pIVar12 + 0x20);
            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);
            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;
            if (pIVar4 != (Input_section_info *)0x0) {
              *(Input_section_info **)(pIVar2 + -8) = pIVar4;
              *(undefined4 *)pIVar2 = uVar3;
              goto LAB_00219384;
            }
          }
          *(Input_section_info **)(pIVar2 + -8) = pIVar2;
          pIVar4 = pIVar2;
        }
LAB_00219384:
        *(undefined4 *)(pIVar2 + -4) = 0;
        param_5 = pIVar12 + 0x40;
        *pIVar4 = (Input_section_info)0x0;
        iVar8 = iVar8 + -1;
        uVar3 = *(undefined4 *)(pIVar2 + 0x10);
        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);
        *(undefined4 *)(pIVar12 + 0x30) = uVar3;
        uVar3 = *(undefined4 *)(pIVar2 + 0x18);
        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);
        *(undefined4 *)(pIVar12 + 0x38) = uVar3;
        pIVar12 = param_5;
        pIVar2 = pIVar2 + 0x40;
      } while (iVar8 != 0);
    }
  }
  return param_5;
}


lui gp,0x22
addiu gp,gp,0x12ac
addu gp,gp,t9
addiu sp,sp,-0x40
sw gp,0x10(sp)
sw s4,0x2c(sp)
or s4,a3,zero
sw s1,0x20(sp)
or s1,a2,zero
sw s0,0x1c(sp)
sw ra,0x3c(sp)
sw s7,0x38(sp)
sw s6,0x34(sp)
sw s5,0x30(sp)
sw s3,0x28(sp)
sw s2,0x24(sp)
beq a0,a1,0x002190ec
_lw s0,0x50(sp)
or s3,a1,zero
beq a2,a3,0x00219340
_or s2,a0,zero
addiu s7,sp,0x54
lw s5,-0x50b0(gp)
b 0x00219030
_li s6,0x1
lw a1,0x10(s1)
addiu v0,s1,0x20
lw t1,0x0(s1)
lw t0,0x4(s1)
lw a3,0x8(s1)
lw a2,0xc(s1)
lw v1,0x14(s1)
lw a0,0x18(s0)
sw t1,0x0(s0)
sw t0,0x4(s0)
sw a3,0x8(s0)
sw a2,0xc(s0)
sw a1,0x10(s0)
sw v1,0x14(s0)
lw a1,0x18(s1)
beq a1,v0,0x00219248
_addiu v1,s0,0x20
beq a0,v1,0x002192c0
_sw a1,0x18(s0)
lw a1,0x1c(s1)
lw v1,0x20(s0)
sw a1,0x1c(s0)
lw a1,0x20(s1)
beq a0,zero,0x002192d0
_sw a1,0x20(s0)
sw a0,0x18(s1)
sw v1,0x20(s1)
sw zero,0x1c(s1)
addiu s1,s1,0x40
sb zero,0x0(a0)
addiu s0,s0,0x40
lw v1,-0xc(s1)
lw v0,-0x10(s1)
sw v1,-0xc(s0)
sw v0,-0x10(s0)
lw v1,-0x4(s1)
lw v0,-0x8(s1)
sw v1,-0x4(s0)
beq s2,s3,0x002190ec
_sw v0,-0x8(s0)
beq s1,s4,0x00219344
_subu v0,s3,s2
or a2,s2,zero
or a1,s1,zero
or t9,s5,zero
bal 0x0020b158
_or a0,s7,zero
bne v0,zero,0x00218f88
_lw gp,0x10(sp)
lw a1,0x10(s2)
addiu v0,s2,0x20
lw t1,0x0(s2)
lw t0,0x4(s2)
lw a3,0x8(s2)
lw a2,0xc(s2)
lw v1,0x14(s2)
lw a0,0x18(s0)
sw t1,0x0(s0)
sw t0,0x4(s0)
sw a3,0x8(s0)
sw a2,0xc(s0)
sw a1,0x10(s0)
sw v1,0x14(s0)
lw a1,0x18(s2)
beq a1,v0,0x00219284
_addiu v1,s0,0x20
beq a0,v1,0x002192dc
_sw a1,0x18(s0)
lw a1,0x1c(s2)
lw v1,0x20(s0)
sw a1,0x1c(s0)
lw a1,0x20(s2)
beq a0,zero,0x002192ec
_sw a1,0x20(s0)
sw a0,0x18(s2)
sw v1,0x20(s2)
sw zero,0x1c(s2)
addiu s2,s2,0x40
sb zero,0x0(a0)
addiu s0,s0,0x40
lw v1,-0xc(s2)
lw v0,-0x10(s2)
sw v1,-0xc(s0)
sw v0,-0x10(s0)
lw v1,-0x4(s2)
lw v0,-0x8(s2)
sw v1,-0x4(s0)
bne s2,s3,0x00219028
_sw v0,-0x8(s0)
subu s4,s4,s1
blez s4,0x00219218
_sra s2,s4,0x6
addiu s1,s1,0x20
b 0x00219168
_li s4,0x1
addiu v0,s0,0x20
beq a0,v0,0x00219468
_sw s3,0x18(s0)
lw v1,-0x4(s1)
lw v0,0x20(s0)
sw v1,0x1c(s0)
lw v1,0x0(s1)
beq a0,zero,0x00219478
_sw v1,0x20(s0)
sw a0,-0x8(s1)
sw v0,0x0(s1)
sw zero,-0x4(s1)
addiu s0,s0,0x40
sb zero,0x0(a0)
addiu s1,s1,0x40
lw v1,-0x2c(s1)
addiu s2,s2,-0x1
lw v0,-0x30(s1)
sw v1,-0xc(s0)
sw v0,-0x10(s0)
lw v1,-0x24(s1)
lw v0,-0x28(s1)
sw v1,-0x4(s0)
beq s2,zero,0x00219218
_sw v0,-0x8(s0)
lw t0,-0x20(s1)
lw a3,-0x1c(s1)
lw a2,-0x18(s1)
lw a1,-0x14(s1)
lw v1,-0x10(s1)
lw v0,-0xc(s1)
lw a0,0x18(s0)
sw t0,0x0(s0)
sw a3,0x4(s0)
sw a2,0x8(s0)
sw a1,0xc(s0)
sw v1,0x10(s0)
sw v0,0x14(s0)
lw s3,-0x8(s1)
bne s1,s3,0x00219104
_nop
lw a2,-0x4(s1)
beq a2,zero,0x002191d0
_nop
beq a2,s4,0x00219484
_lw t9,-0x3a48(gp)
jalr t9
_or a1,s1,zero
lw gp,0x10(sp)
lw a2,-0x4(s1)
lw a0,0x18(s0)
addu a0,a0,a2
sw a2,0x1c(s0)
addiu s0,s0,0x40
addiu s1,s1,0x40
sb zero,0x0(a0)
addiu s2,s2,-0x1
lw a0,-0x8(s3)
sw zero,-0x44(s1)
sb zero,0x0(a0)
lw v1,-0x2c(s1)
lw v0,-0x30(s1)
sw v1,-0xc(s0)
sw v0,-0x10(s0)
lw v1,-0x24(s1)
lw v0,-0x28(s1)
sw v1,-0x4(s0)
bne s2,zero,0x00219168
_sw v0,-0x8(s0)
lw ra,0x3c(sp)
or v0,s0,zero
lw s7,0x38(sp)
lw s6,0x34(sp)
lw s5,0x30(sp)
lw s4,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x40
lw a2,0x1c(s1)
beq a2,zero,0x00219270
_nop
beq a2,s6,0x0021931c
_lw t9,-0x3a48(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw a2,0x1c(s1)
lw a0,0x18(s0)
addu a0,a0,a2
sw a2,0x1c(s0)
sb zero,0x0(a0)
b 0x00218ff4
_lw a0,0x18(s1)
lw a2,0x1c(s2)
beq a2,zero,0x002192ac
_nop
beq a2,s6,0x002192f8
_lw t9,-0x3a48(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw a2,0x1c(s2)
lw a0,0x18(s0)
addu a0,a0,a2
sw a2,0x1c(s0)
sb zero,0x0(a0)
b 0x002190b8
_lw a0,0x18(s2)
lw v1,0x1c(s1)
sw v1,0x1c(s0)
lw v1,0x20(s1)
sw v1,0x20(s0)
sw v0,0x18(s1)
b 0x00218ff4
_or a0,v0,zero
lw v1,0x1c(s2)
sw v1,0x1c(s0)
lw v1,0x20(s2)
sw v1,0x20(s0)
sw v0,0x18(s2)
b 0x002190b8
_or a0,v0,zero
lb v0,0x20(s2)
sb v0,0x0(a0)
lw a2,0x1c(s2)
lw a0,0x18(s0)
sw a2,0x1c(s0)
addu a0,a0,a2
sb zero,0x0(a0)
b 0x002190b8
_lw a0,0x18(s2)
lb v0,0x20(s1)
sb v0,0x0(a0)
lw a2,0x1c(s1)
lw a0,0x18(s0)
sw a2,0x1c(s0)
addu a0,a0,a2
sb zero,0x0(a0)
b 0x00218ff4
_lw a0,0x18(s1)
subu v0,s3,s2
blez v0,0x00219218
_sra s3,v0,0x6
addiu s1,s2,0x20
b 0x002193bc
_li s4,0x1
addiu v0,s0,0x20
beq a0,v0,0x00219438
_sw s2,0x18(s0)
lw v1,-0x4(s1)
lw v0,0x20(s0)
sw v1,0x1c(s0)
lw v1,0x0(s1)
beq a0,zero,0x00219448
_sw v1,0x20(s0)
sw a0,-0x8(s1)
sw v0,0x0(s1)
sw zero,-0x4(s1)
addiu s0,s0,0x40
sb zero,0x0(a0)
addiu s1,s1,0x40
lw v1,-0x2c(s1)
addiu s3,s3,-0x1
lw v0,-0x30(s1)
sw v1,-0xc(s0)
sw v0,-0x10(s0)
lw v1,-0x24(s1)
lw v0,-0x28(s1)
sw v1,-0x4(s0)
beq s3,zero,0x00219218
_sw v0,-0x8(s0)
lw t0,-0x20(s1)
lw a3,-0x1c(s1)
lw a2,-0x18(s1)
lw a1,-0x14(s1)
lw v1,-0x10(s1)
lw v0,-0xc(s1)
lw a0,0x18(s0)
sw t0,0x0(s0)
sw a3,0x4(s0)
sw a2,0x8(s0)
sw a1,0xc(s0)
sw v1,0x10(s0)
sw v0,0x14(s0)
lw s2,-0x8(s1)
bne s1,s2,0x00219358
_nop
lw a2,-0x4(s1)
beq a2,zero,0x00219424
_nop
beq a2,s4,0x00219454
_lw t9,-0x3a48(gp)
jalr t9
_or a1,s1,zero
lw gp,0x10(sp)
lw a2,-0x4(s1)
lw a0,0x18(s0)
addu a0,a0,a2
sw a2,0x1c(s0)
sb zero,0x0(a0)
b 0x00219384
_lw a0,-0x8(s2)
lw v0,-0x4(s1)
sw v0,0x1c(s0)
lw v0,0x0(s1)
sw v0,0x20(s0)
sw s1,-0x8(s1)
b 0x00219384
_or a0,s1,zero
lb v0,0x0(s1)
sb v0,0x0(a0)
lw a2,-0x4(s1)
b 0x00219424
_lw a0,0x18(s0)
lw v0,-0x4(s1)
sw v0,0x1c(s0)
lw v0,0x0(s1)
sw v0,0x20(s0)
sw s1,-0x8(s1)
b 0x00219130
_or a0,s1,zero
lb v0,0x0(s1)
sb v0,0x0(a0)
lw a2,-0x4(s1)
b 0x002191d0
_lw a0,0x18(s0)
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* gold::Input_section_info* std::__move_merge<__normal_iterator<gold::Input_section_info*,\n   std::vector<gold::Input_section_info, std::allocator<gold::Input_section_info> > >,\n   gold::Input_section_info*, __ops::_Iter_comp_iter<gold::Input_section_sorter>\n   >(__normal_iterator<gold::Input_section_info*, std::vector<gold::Input_section_info,\n   std::allocator<gold::Input_section_info> > >, __normal_iterator<gold::Input_section_info*,\n   std::vector<gold::Input_section_info, std::allocator<gold::Input_section_info> > >,\n   __normal_iterator<gold::Input_section_info*, std::vector<gold::Input_section_info,\n   std::allocator<gold::Input_section_info> > >, __normal_iterator<gold::Input_section_info*,\n   std::vector<gold::Input_section_info, std::allocator<gold::Input_section_info> > >,\n   gold::Input_section_info*, __ops::_Iter_comp_iter<gold::Input_section_sorter>) */\n\nInput_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold::Input_section_sorter>>\n          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)\n\n{\n  int iVar1;\n  Input_section_info *pIVar2;\n  undefined4 uVar3;\n  Input_section_info *pIVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  Input_section_info *pIVar11;\n  Input_section_info *pIVar12;\n  Input_section_info *pIVar13;\n  \n  if (param_1 == param_2) {\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }\n  else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }\n  return param_5;\n}\n\n" comment comment (ERROR "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold::Input_section_sorter>>\n          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold::Input_section_sorter>>\n          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator" (binary_expression "Input_section_info *\nstd" identifier * identifier) (ERROR "::\n__move_merge" : : identifier) < identifier) < identifier) (ERROR "::Input_section_info" : : identifier) * (ERROR "," ,) identifier) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Input_section_info,std::allocator" : : identifier , identifier : : identifier) < identifier) (ERROR "::Input_section_info" : : identifier) >> (ERROR ">," > ,) identifier) (ERROR "::Input_section_info" : : identifier) * (ERROR "," ,) identifier) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Input_section_sorter" : : identifier) >> (parenthesized_expression "(Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)" ( (comma_expression "Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_1" identifier * identifier) , (comma_expression "Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_2" identifier * identifier) , (comma_expression "Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_3" identifier * identifier) , (comma_expression "Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_4" identifier * identifier) , (binary_expression "Input_section_info *param_5" identifier * identifier))))) )))) (compound_statement "{\n  int iVar1;\n  Input_section_info *pIVar2;\n  undefined4 uVar3;\n  Input_section_info *pIVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  Input_section_info *pIVar11;\n  Input_section_info *pIVar12;\n  Input_section_info *pIVar13;\n  \n  if (param_1 == param_2) {\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }\n  else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }\n  return param_5;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "Input_section_info *pIVar2;" type_identifier (pointer_declarator "*pIVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "Input_section_info *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "Input_section_info *pIVar11;" type_identifier (pointer_declarator "*pIVar11" * identifier) ;) (declaration "Input_section_info *pIVar12;" type_identifier (pointer_declarator "*pIVar12" * identifier) ;) (declaration "Input_section_info *pIVar13;" type_identifier (pointer_declarator "*pIVar13" * identifier) ;) (if_statement "if (param_1 == param_2) {\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }\n  else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (compound_statement "{\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }" { (labeled_statement "LAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;" statement_identifier : (expression_statement "iVar1 = (int)param_4 - (int)param_3 >> 6;" (assignment_expression "iVar1 = (int)param_4 - (int)param_3 >> 6" identifier = (binary_expression "(int)param_4 - (int)param_3 >> 6" (binary_expression "(int)param_4 - (int)param_3" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;)) (if_statement "if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }" if (parenthesized_expression "(0 < (int)param_4 - (int)param_3)" ( (binary_expression "0 < (int)param_4 - (int)param_3" number_literal < (binary_expression "(int)param_4 - (int)param_3" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }" { (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (expression_statement "pIVar2 = param_3 + 0x20;" (assignment_expression "pIVar2 = param_3 + 0x20" identifier = (binary_expression "param_3 + 0x20" identifier + number_literal)) ;) (do_statement "do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);" do (compound_statement "{\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      }" { (while_statement "while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }" { (expression_statement "uVar10 = *(undefined4 *)(pIVar2 + -0x1c);" (assignment_expression "uVar10 = *(undefined4 *)(pIVar2 + -0x1c)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x1c)" ( (binary_expression "pIVar2 + -0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(pIVar2 + -0x18);" (assignment_expression "uVar9 = *(undefined4 *)(pIVar2 + -0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x18)" * (cast_expression "(undefined4 *)(pIVar2 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x18)" ( (binary_expression "pIVar2 + -0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(pIVar2 + -0x14);" (assignment_expression "uVar7 = *(undefined4 *)(pIVar2 + -0x14)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x14)" * (cast_expression "(undefined4 *)(pIVar2 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x14)" ( (binary_expression "pIVar2 + -0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(pIVar2 + -0x10);" (assignment_expression "uVar6 = *(undefined4 *)(pIVar2 + -0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x10)" * (cast_expression "(undefined4 *)(pIVar2 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x10)" ( (binary_expression "pIVar2 + -0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + -0xc);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + -0xc)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0xc)" * (cast_expression "(undefined4 *)(pIVar2 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0xc)" ( (binary_expression "pIVar2 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20)" (pointer_expression "*(undefined4 *)pIVar12" * (cast_expression "(undefined4 *)pIVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)(pIVar2 + -0x20)" * (cast_expression "(undefined4 *)(pIVar2 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x20)" ( (binary_expression "pIVar2 + -0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" * (cast_expression "(undefined4 *)(pIVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 4)" ( (binary_expression "pIVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" * (cast_expression "(undefined4 *)(pIVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 8)" ( (binary_expression "pIVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" * (cast_expression "(undefined4 *)(pIVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0xc)" ( (binary_expression "pIVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" * (cast_expression "(undefined4 *)(pIVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x10)" ( (binary_expression "pIVar12 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" * (cast_expression "(undefined4 *)(pIVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x14)" ( (binary_expression "pIVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar13 = *(Input_section_info **)(pIVar2 + -8);" (assignment_expression "pIVar13 = *(Input_section_info **)(pIVar2 + -8)" identifier = (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) ))))) ;) (if_statement "if (pIVar2 != pIVar13) break;" if (parenthesized_expression "(pIVar2 != pIVar13)" ( (binary_expression "pIVar2 != pIVar13" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar8 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" { (if_statement "if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (expression_statement "*pIVar4 = *pIVar2;" (assignment_expression "*pIVar4 = *pIVar2" (pointer_expression "*pIVar4" * identifier) = (pointer_expression "*pIVar2" * identifier)) ;) (expression_statement "iVar8 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar8 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" else (compound_statement "{\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (expression_statement "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);" (call_expression "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar4,pIVar2)" ( identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar8 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) }))) })) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar8;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar8" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar11 = pIVar12 + 0x40;" (assignment_expression "pIVar11 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (expression_statement "pIVar4[iVar8] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar8] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar8]" identifier [ identifier ]) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) (expression_statement "puVar5 = *(undefined1 **)(pIVar13 + -8);" (assignment_expression "puVar5 = *(undefined1 **)(pIVar13 + -8)" identifier = (pointer_expression "*(undefined1 **)(pIVar13 + -8)" * (cast_expression "(undefined1 **)(pIVar13 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar13 + -8)" ( (binary_expression "pIVar13 + -8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar2 + -4) = 0;" (assignment_expression "*(undefined4 *)(pIVar2 + -4) = 0" (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x10);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x10)" * (cast_expression "(undefined4 *)(pIVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x10)" ( (binary_expression "pIVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x14)" * (cast_expression "(undefined4 *)(pIVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x14)" ( (binary_expression "pIVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x18);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x18)" * (cast_expression "(undefined4 *)(pIVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x18)" ( (binary_expression "pIVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x1c)" ( (binary_expression "pIVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar12 = pIVar11;" (assignment_expression "pIVar12 = pIVar11" identifier = identifier) ;) (expression_statement "pIVar2 = pIVar2 + 0x40;" (assignment_expression "pIVar2 = pIVar2 + 0x40" identifier = (binary_expression "pIVar2 + 0x40" identifier + number_literal)) ;) (if_statement "if (iVar1 == 0) {\n            return pIVar11;\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            return pIVar11;\n          }" { (return_statement "return pIVar11;" return identifier ;) })) })) (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13;" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }" if (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" ( (binary_expression "pIVar4 == pIVar12 + 0x20" identifier == (binary_expression "pIVar12 + 0x20" identifier + number_literal)) )) (compound_statement "{\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" { (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;" statement_identifier : (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar2;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar2" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "pIVar4 = pIVar2;" (assignment_expression "pIVar4 = pIVar2" identifier = identifier) ;) }) (else_clause "else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }" else (compound_statement "{\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }" { (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;" if (parenthesized_expression "(pIVar4 == (Input_section_info *)0x0)" ( (binary_expression "pIVar4 == (Input_section_info *)0x0" identifier == (cast_expression "(Input_section_info *)0x0" ( (type_descriptor "Input_section_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00219478;" goto statement_identifier ;)) (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar4;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar4" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)pIVar2 = uVar3;" (assignment_expression "*(undefined4 *)pIVar2 = uVar3" (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }))) (expression_statement "*(undefined4 *)(pIVar2 + -4) = 0;" (assignment_expression "*(undefined4 *)(pIVar2 + -4) = 0" (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (expression_statement "*pIVar4 = (Input_section_info)0x0;" (assignment_expression "*pIVar4 = (Input_section_info)0x0" (pointer_expression "*pIVar4" * identifier) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x10);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x10)" * (cast_expression "(undefined4 *)(pIVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x10)" ( (binary_expression "pIVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x14)" * (cast_expression "(undefined4 *)(pIVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x14)" ( (binary_expression "pIVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x18);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x18)" * (cast_expression "(undefined4 *)(pIVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x18)" ( (binary_expression "pIVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x1c)" ( (binary_expression "pIVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (expression_statement "pIVar2 = pIVar2 + 0x40;" (assignment_expression "pIVar2 = pIVar2 + 0x40" identifier = (binary_expression "pIVar2 + 0x40" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) })) }) (else_clause "else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }" else (compound_statement "{\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }" { (if_statement "if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }" if (parenthesized_expression "(param_3 == param_4)" ( (binary_expression "param_3 == param_4" identifier == identifier) )) (compound_statement "{\n      iVar1 = -(int)param_1;\n    }" { (expression_statement "iVar1 = -(int)param_1;" (assignment_expression "iVar1 = -(int)param_1" identifier = (unary_expression "-(int)param_1" - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }" else (compound_statement "{\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }" { (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (do_statement "do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);" do (compound_statement "{\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (labeled_statement "Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);" statement_identifier : (ERROR ":" :) (expression_statement "operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);" (call_expression "operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Input_section_sorter *)&stack0x00000014,param_3,param_1)" ( (cast_expression "(Input_section_sorter *)&stack0x00000014" ( (type_descriptor "Input_section_sorter *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0x00000014" & identifier)) , identifier , identifier ))) ;)) (if_statement "if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }" { (expression_statement "uVar6 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar6 = *(undefined4 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pIVar2 = param_1 + 0x20;" (assignment_expression "pIVar2 = param_1 + 0x20" identifier = (binary_expression "param_1 + 0x20" identifier + number_literal)) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 4);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar9 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)param_1;" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)param_1" (pointer_expression "*(undefined4 *)pIVar12" * (cast_expression "(undefined4 *)pIVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" * (cast_expression "(undefined4 *)(pIVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 4)" ( (binary_expression "pIVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" * (cast_expression "(undefined4 *)(pIVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 8)" ( (binary_expression "pIVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" * (cast_expression "(undefined4 *)(pIVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0xc)" ( (binary_expression "pIVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" * (cast_expression "(undefined4 *)(pIVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x10)" ( (binary_expression "pIVar12 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" * (cast_expression "(undefined4 *)(pIVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x14)" ( (binary_expression "pIVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }" if (parenthesized_expression "(*(Input_section_info **)(param_1 + 0x18) == pIVar2)" ( (binary_expression "*(Input_section_info **)(param_1 + 0x18) == pIVar2" (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }" { (expression_statement "iVar1 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (if_statement "if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }" { (expression_statement "*pIVar4 = param_1[0x20];" (assignment_expression "*pIVar4 = param_1[0x20]" (pointer_expression "*pIVar4" * identifier) = (subscript_expression "param_1[0x20]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" * (cast_expression "(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pIVar12 + 0x18) + iVar1)" ( (binary_expression "*(int *)(pIVar12 + 0x18) + iVar1" (pointer_expression "*(int *)(pIVar12 + 0x18)" * (cast_expression "(int *)(pIVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) + identifier) )))) = number_literal) ;) (expression_statement "pIVar2 = *(Input_section_info **)(param_1 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_1 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_002190b8;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_memcpy_00436788)();" (call_expression "(*(code *)PTR_memcpy_00436788)()" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) })) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar4[iVar1] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar1] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar1]" identifier [ identifier ]) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "pIVar2 = *(Input_section_info **)(param_1 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_1 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }" else (compound_statement "{\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }" { (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18)" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) = (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }" if (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" ( (binary_expression "pIVar4 == pIVar12 + 0x20" identifier == (binary_expression "pIVar12 + 0x20" identifier + number_literal)) )) (compound_statement "{\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }" { (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" * (cast_expression "(undefined4 *)(param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }" else (compound_statement "{\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }" { (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" * (cast_expression "(undefined4 *)(param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }" if (parenthesized_expression "(pIVar4 != (Input_section_info *)0x0)" ( (binary_expression "pIVar4 != (Input_section_info *)0x0" identifier != (cast_expression "(Input_section_info *)0x0" ( (type_descriptor "Input_section_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }" { (expression_statement "*(Input_section_info **)(param_1 + 0x18) = pIVar4;" (assignment_expression "*(Input_section_info **)(param_1 + 0x18) = pIVar4" (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x20) = uVar3;" (assignment_expression "*(undefined4 *)(param_1 + 0x20) = uVar3" (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar2 = pIVar4;" (assignment_expression "pIVar2 = pIVar4" identifier = identifier) ;) (goto_statement "goto LAB_002190b8;" goto statement_identifier ;) })) }))) (expression_statement "*(Input_section_info **)(param_1 + 0x18) = pIVar2;" (assignment_expression "*(Input_section_info **)(param_1 + 0x18) = pIVar2" (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (labeled_statement "LAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" * (cast_expression "(undefined4 *)(param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*pIVar2 = (Input_section_info)0x0;" (assignment_expression "*pIVar2 = (Input_section_info)0x0" (pointer_expression "*pIVar2" * identifier) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x30);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_1 = param_1 + 0x40;" (assignment_expression "param_1 = param_1 + 0x40" identifier = (binary_expression "param_1 + 0x40" identifier + number_literal)) ;) }) (else_clause "else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }" else (compound_statement "{\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }" { (expression_statement "uVar6 = *(undefined4 *)(param_3 + 0x10);" (assignment_expression "uVar6 = *(undefined4 *)(param_3 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x10)" * (cast_expression "(undefined4 *)(param_3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x10)" ( (binary_expression "param_3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pIVar2 = param_3 + 0x20;" (assignment_expression "pIVar2 = param_3 + 0x20" identifier = (binary_expression "param_3 + 0x20" identifier + number_literal)) ;) (expression_statement "uVar10 = *(undefined4 *)(param_3 + 4);" (assignment_expression "uVar10 = *(undefined4 *)(param_3 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 4)" * (cast_expression "(undefined4 *)(param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(param_3 + 8);" (assignment_expression "uVar9 = *(undefined4 *)(param_3 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 8)" * (cast_expression "(undefined4 *)(param_3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0xc)" * (cast_expression "(undefined4 *)(param_3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0x14);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x14)" * (cast_expression "(undefined4 *)(param_3 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)param_3;" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)param_3" (pointer_expression "*(undefined4 *)pIVar12" * (cast_expression "(undefined4 *)pIVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" * (cast_expression "(undefined4 *)(pIVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 4)" ( (binary_expression "pIVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" * (cast_expression "(undefined4 *)(pIVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 8)" ( (binary_expression "pIVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" * (cast_expression "(undefined4 *)(pIVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0xc)" ( (binary_expression "pIVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" * (cast_expression "(undefined4 *)(pIVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x10)" ( (binary_expression "pIVar12 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" * (cast_expression "(undefined4 *)(pIVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x14)" ( (binary_expression "pIVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }" if (parenthesized_expression "(*(Input_section_info **)(param_3 + 0x18) == pIVar2)" ( (binary_expression "*(Input_section_info **)(param_3 + 0x18) == pIVar2" (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }" { (expression_statement "iVar1 = *(int *)(param_3 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_3 + 0x1c)" identifier = (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (if_statement "if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }" { (expression_statement "*pIVar4 = param_3[0x20];" (assignment_expression "*pIVar4 = param_3[0x20]" (pointer_expression "*pIVar4" * identifier) = (subscript_expression "param_3[0x20]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = *(int *)(param_3 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_3 + 0x1c)" identifier = (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" * (cast_expression "(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pIVar12 + 0x18) + iVar1)" ( (binary_expression "*(int *)(pIVar12 + 0x18) + iVar1" (pointer_expression "*(int *)(pIVar12 + 0x18)" * (cast_expression "(int *)(pIVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) + identifier) )))) = number_literal) ;) (expression_statement "pIVar2 = *(Input_section_info **)(param_3 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_3 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00218ff4;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_memcpy_00436788)();" (call_expression "(*(code *)PTR_memcpy_00436788)()" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = *(int *)(param_3 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_3 + 0x1c)" identifier = (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) })) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar4[iVar1] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar1] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar1]" identifier [ identifier ]) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "pIVar2 = *(Input_section_info **)(param_3 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_3 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }" else (compound_statement "{\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }" { (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18)" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) = (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }" if (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" ( (binary_expression "pIVar4 == pIVar12 + 0x20" identifier == (binary_expression "pIVar12 + 0x20" identifier + number_literal)) )) (compound_statement "{\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }" { (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" * (cast_expression "(undefined4 *)(param_3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x20)" * (cast_expression "(undefined4 *)(param_3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }" else (compound_statement "{\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }" { (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" * (cast_expression "(undefined4 *)(param_3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x20)" * (cast_expression "(undefined4 *)(param_3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }" if (parenthesized_expression "(pIVar4 != (Input_section_info *)0x0)" ( (binary_expression "pIVar4 != (Input_section_info *)0x0" identifier != (cast_expression "(Input_section_info *)0x0" ( (type_descriptor "Input_section_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }" { (expression_statement "*(Input_section_info **)(param_3 + 0x18) = pIVar4;" (assignment_expression "*(Input_section_info **)(param_3 + 0x18) = pIVar4" (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_3 + 0x20) = uVar3;" (assignment_expression "*(undefined4 *)(param_3 + 0x20) = uVar3" (pointer_expression "*(undefined4 *)(param_3 + 0x20)" * (cast_expression "(undefined4 *)(param_3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar2 = pIVar4;" (assignment_expression "pIVar2 = pIVar4" identifier = identifier) ;) (goto_statement "goto LAB_00218ff4;" goto statement_identifier ;) })) }))) (expression_statement "*(Input_section_info **)(param_3 + 0x18) = pIVar2;" (assignment_expression "*(Input_section_info **)(param_3 + 0x18) = pIVar2" (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (labeled_statement "LAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" * (cast_expression "(undefined4 *)(param_3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*pIVar2 = (Input_section_info)0x0;" (assignment_expression "*pIVar2 = (Input_section_info)0x0" (pointer_expression "*pIVar2" * identifier) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0x30);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x30)" * (cast_expression "(undefined4 *)(param_3 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x30)" ( (binary_expression "param_3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x34)" * (cast_expression "(undefined4 *)(param_3 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x34)" ( (binary_expression "param_3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0x38);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x38)" * (cast_expression "(undefined4 *)(param_3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x38)" ( (binary_expression "param_3 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x3c)" * (cast_expression "(undefined4 *)(param_3 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3c)" ( (binary_expression "param_3 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_3 = param_3 + 0x40;" (assignment_expression "param_3 = param_3 + 0x40" identifier = (binary_expression "param_3 + 0x40" identifier + number_literal)) ;) }))) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (if_statement "if (param_1 == param_2) goto LAB_002190ec;" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (goto_statement "goto LAB_002190ec;" goto statement_identifier ;)) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (expression_statement "iVar1 = -(int)param_1;" (assignment_expression "iVar1 = -(int)param_1" identifier = (unary_expression "-(int)param_1" - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) }) while (parenthesized_expression "(param_3 != param_4)" ( (binary_expression "param_3 != param_4" identifier != identifier) )) ;) }))) (expression_statement "iVar8 = (int)(param_2 + iVar1) >> 6;" (assignment_expression "iVar8 = (int)(param_2 + iVar1) >> 6" identifier = (binary_expression "(int)(param_2 + iVar1) >> 6" (cast_expression "(int)(param_2 + iVar1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) ))) >> number_literal)) ;) (if_statement "if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }" if (parenthesized_expression "(0 < (int)(param_2 + iVar1))" ( (binary_expression "0 < (int)(param_2 + iVar1)" number_literal < (cast_expression "(int)(param_2 + iVar1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) )))) )) (compound_statement "{\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }" { (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (expression_statement "pIVar2 = param_1 + 0x20;" (assignment_expression "pIVar2 = param_1 + 0x20" identifier = (binary_expression "param_1 + 0x20" identifier + number_literal)) ;) (do_statement "do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);" do (compound_statement "{\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      }" { (expression_statement "uVar10 = *(undefined4 *)(pIVar2 + -0x1c);" (assignment_expression "uVar10 = *(undefined4 *)(pIVar2 + -0x1c)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x1c)" ( (binary_expression "pIVar2 + -0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(pIVar2 + -0x18);" (assignment_expression "uVar9 = *(undefined4 *)(pIVar2 + -0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x18)" * (cast_expression "(undefined4 *)(pIVar2 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x18)" ( (binary_expression "pIVar2 + -0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(pIVar2 + -0x14);" (assignment_expression "uVar7 = *(undefined4 *)(pIVar2 + -0x14)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x14)" * (cast_expression "(undefined4 *)(pIVar2 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x14)" ( (binary_expression "pIVar2 + -0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(pIVar2 + -0x10);" (assignment_expression "uVar6 = *(undefined4 *)(pIVar2 + -0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x10)" * (cast_expression "(undefined4 *)(pIVar2 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x10)" ( (binary_expression "pIVar2 + -0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + -0xc);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + -0xc)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0xc)" * (cast_expression "(undefined4 *)(pIVar2 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0xc)" ( (binary_expression "pIVar2 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20)" (pointer_expression "*(undefined4 *)pIVar12" * (cast_expression "(undefined4 *)pIVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)(pIVar2 + -0x20)" * (cast_expression "(undefined4 *)(pIVar2 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x20)" ( (binary_expression "pIVar2 + -0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" * (cast_expression "(undefined4 *)(pIVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 4)" ( (binary_expression "pIVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" * (cast_expression "(undefined4 *)(pIVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 8)" ( (binary_expression "pIVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" * (cast_expression "(undefined4 *)(pIVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0xc)" ( (binary_expression "pIVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" * (cast_expression "(undefined4 *)(pIVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x10)" ( (binary_expression "pIVar12 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" * (cast_expression "(undefined4 *)(pIVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x14)" ( (binary_expression "pIVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar13 = *(Input_section_info **)(pIVar2 + -8);" (assignment_expression "pIVar13 = *(Input_section_info **)(pIVar2 + -8)" identifier = (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) ))))) ;) (if_statement "if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" if (parenthesized_expression "(pIVar2 == pIVar13)" ( (binary_expression "pIVar2 == pIVar13" identifier == identifier) )) (compound_statement "{\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }" { (expression_statement "iVar1 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar1 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" { (if_statement "if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (expression_statement "*pIVar4 = *pIVar2;" (assignment_expression "*pIVar4 = *pIVar2" (pointer_expression "*pIVar4" * identifier) = (pointer_expression "*pIVar2" * identifier)) ;) (expression_statement "iVar1 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar1 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" else (compound_statement "{\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (expression_statement "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);" (call_expression "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar4,pIVar2)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar1 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) }))) })) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar4[iVar1] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar1] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar1]" identifier [ identifier ]) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar13 + -8);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar13 + -8)" identifier = (pointer_expression "*(Input_section_info **)(pIVar13 + -8)" * (cast_expression "(Input_section_info **)(pIVar13 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar13 + -8)" ( (binary_expression "pIVar13 + -8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" else (compound_statement "{\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" { (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13;" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }" if (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" ( (binary_expression "pIVar4 == pIVar12 + 0x20" identifier == (binary_expression "pIVar12 + 0x20" identifier + number_literal)) )) (compound_statement "{\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }" { (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }" else (compound_statement "{\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }" { (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }" if (parenthesized_expression "(pIVar4 != (Input_section_info *)0x0)" ( (binary_expression "pIVar4 != (Input_section_info *)0x0" identifier != (cast_expression "(Input_section_info *)0x0" ( (type_descriptor "Input_section_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }" { (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar4;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar4" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)pIVar2 = uVar3;" (assignment_expression "*(undefined4 *)pIVar2 = uVar3" (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (goto_statement "goto LAB_00219384;" goto statement_identifier ;) })) }))) (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar2;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar2" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar4 = pIVar2;" (assignment_expression "pIVar4 = pIVar2" identifier = identifier) ;) }))) (labeled_statement "LAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(pIVar2 + -4) = 0;" (assignment_expression "*(undefined4 *)(pIVar2 + -4) = 0" (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (expression_statement "*pIVar4 = (Input_section_info)0x0;" (assignment_expression "*pIVar4 = (Input_section_info)0x0" (pointer_expression "*pIVar4" * identifier) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x10);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x10)" * (cast_expression "(undefined4 *)(pIVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x10)" ( (binary_expression "pIVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x14)" * (cast_expression "(undefined4 *)(pIVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x14)" ( (binary_expression "pIVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x18);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x18)" * (cast_expression "(undefined4 *)(pIVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x18)" ( (binary_expression "pIVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x1c)" ( (binary_expression "pIVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (expression_statement "pIVar2 = pIVar2 + 0x40;" (assignment_expression "pIVar2 = pIVar2 + 0x40" identifier = (binary_expression "pIVar2 + 0x40" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) })) }))) (return_statement "return param_5;" return identifier ;) }))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* DWARF original name: __move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,\n   std::vector<gold::Input_section_info> >, gold::Input_section_info*,\n   __gnu_cxx::__ops::_Iter_comp_iter<gold::Input_section_sorter> > */\n\nInput_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info>_>,_gold::Input_section_info*,___gnu_cxx::__ops::_Iter_comp_iter<gold::Input_section_sorter>_>\n          (__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n           __first1,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last1,__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n                  __first2,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last2,Input_section_info *__result,_Iter_comp_iter<gold::Input_section_sorter> __comp)\n\n{\n  undefined3 extraout_var;\n  bool bVar1;\n  uint uVar2;\n  size_type sVar3;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar4;\n  undefined1 *puVar5;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar6;\n  anon_union_4_4_139239c7_for_u2_ aVar7;\n  pointer pcVar8;\n  size_type sVar9;\n  undefined4 uVar10;\n  size_type sVar11;\n  undefined4 uVar12;\n  size_type sVar13;\n  uint uVar14;\n  Input_section_info *pIVar15;\n  Input_section_info *pIVar16;\n  int iVar17;\n  size_type *psVar18;\n  int iVar19;\n  \n  if (__first1._M_current == __last1._M_current) {\nLAB_002190ec:\n    iVar17 = (int)__last2._M_current - (int)__first2._M_current >> 6;\n    if (0 < (int)__last2._M_current - (int)__first2._M_current) {\n      pIVar16 = __result;\n      paVar6 = &((__first2._M_current)->section_name_).field_2;\n      do {\n        while( true ) {\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }\n        (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n        if (paVar4 == &(pIVar16->section_name_).field_2) {\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\n        else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar17 = iVar17 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar17 != 0);\n    }\n  }\n  else {\n    if (__first2._M_current == __last2._M_current) {\n      iVar17 = -(int)__first1._M_current;\n    }\n    else {\n      pIVar16 = __result;\n      do {\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }\n    iVar17 = (int)&((__last1._M_current)->input_section_).shndx_ + iVar17;\n    iVar19 = iVar17 >> 6;\n    if (0 < iVar17) {\n      pIVar16 = __result;\n      paVar6 = &((__first1._M_current)->section_name_).field_2;\n      do {\n        sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n        sVar11 = *(size_type *)((int)paVar6 + -0x18);\n        sVar9 = *(size_type *)((int)paVar6 + -0x14);\n        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n        sVar3 = *(size_type *)((int)paVar6 + -0xc);\n        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;\n        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n        (pIVar16->input_section_).p2align_ = sVar13;\n        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n        (pIVar16->input_section_).u2_ = aVar7;\n        (pIVar16->input_section_).section_order_index_ = sVar3;\n        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\nLAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar19 = iVar19 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar19 != 0);\n    }\n  }\n  return __result;\n}\n\n" comment comment comment comment (ERROR "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info>_>,_gold::Input_section_info*,___gnu_cxx::__ops::_Iter_comp_iter<gold::Input_section_sorter>_>\n          (__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n           __first1,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last1,__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n                  __first2,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last2,Input_section_info *__result,_Iter_comp_iter<gold::Input_section_sorter> __comp)" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info>_>,_gold::Input_section_info*,___gnu_cxx::__ops::_Iter_comp_iter<gold::Input_section_sorter>_>\n          (__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n           __first1,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last1,__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n                  __first2,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last2,Input_section_info *__result,_Iter_comp_iter<gold::Input_section_sorter> __comp)" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info>_>,_gold::Input_section_info*,___gnu_cxx::__ops::_Iter_comp_iter<gold::Input_section_sorter>_" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info>_>,_gold::Input_section_info*,___gnu_cxx::__ops::_Iter_comp_iter<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info>_>,_gold::Input_section_info*,___gnu_cxx" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info>_>,_gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info>_" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std::vector<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,_std" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__gnu_cxx" (binary_expression "Input_section_info *\nstd" identifier * identifier) (ERROR "::\n__move_merge" : : identifier) < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) (ERROR "::Input_section_info" : : identifier) * (ERROR "," ,) identifier) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Input_section_info" : : identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::Input_section_info" : : identifier) * (ERROR "," ,) identifier) (ERROR "::__ops::_Iter_comp_iter" : : identifier : : identifier) < identifier) (ERROR "::Input_section_sorter" : : identifier) > identifier) > (parenthesized_expression "(__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n           __first1,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last1,__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n                  __first2,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last2,Input_section_info *__result,_Iter_comp_iter<gold::Input_section_sorter> __comp)" ( (ERROR "__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n           __first1,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last1,__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n                  __first2,\n          __normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std::allocator<gold::Input_section_info>_>_>\n          __last2,Input_section_info *__result,_Iter_comp_iter<gold::" (comma_expression "__normal_iterator<gold::Input_section_info*,_std::vector<gold::Input_section_info,_std" (binary_expression "__normal_iterator<gold::Input_section_info*,_std::vector<gold" (binary_expression "__normal_iterator<gold::Input_section_info*,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Input_section_info" : : identifier) * (ERROR "," ,) identifier) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Input_section_info" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Input_section_info>_>_>\n           __first1,\n          __normal_iterator<gold" (binary_expression "Input_section_info>_>_>\n           __first1" (binary_expression "Input_section_info>_>_" (binary_expression "Input_section_info>_" identifier > identifier) > identifier) > identifier) , (binary_expression "__normal_iterator<gold" identifier < identifier)) : : (type_descriptor "Input_section_info*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Input_section_info,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Input_section_info>_>_>\n          __last1,__normal_iterator<gold" (binary_expression "Input_section_info>_>_>\n          __last1" (binary_expression "Input_section_info>_>_" (binary_expression "Input_section_info>_" identifier > identifier) > identifier) > identifier) , (binary_expression "__normal_iterator<gold" identifier < identifier)) : : (type_descriptor "Input_section_info*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Input_section_info,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Input_section_info>_>_>\n                  __first2,\n          __normal_iterator<gold" (binary_expression "Input_section_info>_>_>\n                  __first2" (binary_expression "Input_section_info>_>_" (binary_expression "Input_section_info>_" identifier > identifier) > identifier) > identifier) , (binary_expression "__normal_iterator<gold" identifier < identifier)) : : (type_descriptor "Input_section_info*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Input_section_info,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Input_section_info>_>_>\n          __last2,Input_section_info *__result,_Iter_comp_iter<gold" (binary_expression "Input_section_info>_>_>\n          __last2" (binary_expression "Input_section_info>_>_" (binary_expression "Input_section_info>_" identifier > identifier) > identifier) > identifier) , (comma_expression "Input_section_info *__result,_Iter_comp_iter<gold" (binary_expression "Input_section_info *__result" identifier * identifier) , (binary_expression "_Iter_comp_iter<gold" identifier < identifier))) : :) (binary_expression "Input_section_sorter> __comp" identifier > identifier) )))) (compound_statement "{\n  undefined3 extraout_var;\n  bool bVar1;\n  uint uVar2;\n  size_type sVar3;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar4;\n  undefined1 *puVar5;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar6;\n  anon_union_4_4_139239c7_for_u2_ aVar7;\n  pointer pcVar8;\n  size_type sVar9;\n  undefined4 uVar10;\n  size_type sVar11;\n  undefined4 uVar12;\n  size_type sVar13;\n  uint uVar14;\n  Input_section_info *pIVar15;\n  Input_section_info *pIVar16;\n  int iVar17;\n  size_type *psVar18;\n  int iVar19;\n  \n  if (__first1._M_current == __last1._M_current) {\nLAB_002190ec:\n    iVar17 = (int)__last2._M_current - (int)__first2._M_current >> 6;\n    if (0 < (int)__last2._M_current - (int)__first2._M_current) {\n      pIVar16 = __result;\n      paVar6 = &((__first2._M_current)->section_name_).field_2;\n      do {\n        while( true ) {\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }\n        (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n        if (paVar4 == &(pIVar16->section_name_).field_2) {\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\n        else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar17 = iVar17 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar17 != 0);\n    }\n  }\n  else {\n    if (__first2._M_current == __last2._M_current) {\n      iVar17 = -(int)__first1._M_current;\n    }\n    else {\n      pIVar16 = __result;\n      do {\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }\n    iVar17 = (int)&((__last1._M_current)->input_section_).shndx_ + iVar17;\n    iVar19 = iVar17 >> 6;\n    if (0 < iVar17) {\n      pIVar16 = __result;\n      paVar6 = &((__first1._M_current)->section_name_).field_2;\n      do {\n        sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n        sVar11 = *(size_type *)((int)paVar6 + -0x18);\n        sVar9 = *(size_type *)((int)paVar6 + -0x14);\n        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n        sVar3 = *(size_type *)((int)paVar6 + -0xc);\n        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;\n        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n        (pIVar16->input_section_).p2align_ = sVar13;\n        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n        (pIVar16->input_section_).u2_ = aVar7;\n        (pIVar16->input_section_).section_order_index_ = sVar3;\n        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\nLAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar19 = iVar19 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar19 != 0);\n    }\n  }\n  return __result;\n}" { (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "bool bVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "size_type sVar3;" type_identifier identifier ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_>_9\n  *paVar4;" (binary_expression "allocator<char>_>_9\n  *paVar4" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar4" identifier * identifier)) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_>_9\n  *paVar6;" (binary_expression "allocator<char>_>_9\n  *paVar6" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar6" identifier * identifier)) ;) (declaration "anon_union_4_4_139239c7_for_u2_ aVar7;" type_identifier identifier ;) (declaration "pointer pcVar8;" type_identifier identifier ;) (declaration "size_type sVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "size_type sVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "size_type sVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "Input_section_info *pIVar15;" type_identifier (pointer_declarator "*pIVar15" * identifier) ;) (declaration "Input_section_info *pIVar16;" type_identifier (pointer_declarator "*pIVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "size_type *psVar18;" type_identifier (pointer_declarator "*psVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (if_statement "if (__first1._M_current == __last1._M_current) {\nLAB_002190ec:\n    iVar17 = (int)__last2._M_current - (int)__first2._M_current >> 6;\n    if (0 < (int)__last2._M_current - (int)__first2._M_current) {\n      pIVar16 = __result;\n      paVar6 = &((__first2._M_current)->section_name_).field_2;\n      do {\n        while( true ) {\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }\n        (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n        if (paVar4 == &(pIVar16->section_name_).field_2) {\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\n        else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar17 = iVar17 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar17 != 0);\n    }\n  }\n  else {\n    if (__first2._M_current == __last2._M_current) {\n      iVar17 = -(int)__first1._M_current;\n    }\n    else {\n      pIVar16 = __result;\n      do {\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }\n    iVar17 = (int)&((__last1._M_current)->input_section_).shndx_ + iVar17;\n    iVar19 = iVar17 >> 6;\n    if (0 < iVar17) {\n      pIVar16 = __result;\n      paVar6 = &((__first1._M_current)->section_name_).field_2;\n      do {\n        sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n        sVar11 = *(size_type *)((int)paVar6 + -0x18);\n        sVar9 = *(size_type *)((int)paVar6 + -0x14);\n        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n        sVar3 = *(size_type *)((int)paVar6 + -0xc);\n        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;\n        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n        (pIVar16->input_section_).p2align_ = sVar13;\n        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n        (pIVar16->input_section_).u2_ = aVar7;\n        (pIVar16->input_section_).section_order_index_ = sVar3;\n        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\nLAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar19 = iVar19 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar19 != 0);\n    }\n  }" if (parenthesized_expression "(__first1._M_current == __last1._M_current)" ( (binary_expression "__first1._M_current == __last1._M_current" (field_expression "__first1._M_current" identifier . field_identifier) == (field_expression "__last1._M_current" identifier . field_identifier)) )) (compound_statement "{\nLAB_002190ec:\n    iVar17 = (int)__last2._M_current - (int)__first2._M_current >> 6;\n    if (0 < (int)__last2._M_current - (int)__first2._M_current) {\n      pIVar16 = __result;\n      paVar6 = &((__first2._M_current)->section_name_).field_2;\n      do {\n        while( true ) {\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }\n        (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n        if (paVar4 == &(pIVar16->section_name_).field_2) {\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\n        else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar17 = iVar17 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar17 != 0);\n    }\n  }" { (labeled_statement "LAB_002190ec:\n    iVar17 = (int)__last2._M_current - (int)__first2._M_current >> 6;" statement_identifier : (expression_statement "iVar17 = (int)__last2._M_current - (int)__first2._M_current >> 6;" (assignment_expression "iVar17 = (int)__last2._M_current - (int)__first2._M_current >> 6" identifier = (binary_expression "(int)__last2._M_current - (int)__first2._M_current >> 6" (binary_expression "(int)__last2._M_current - (int)__first2._M_current" (cast_expression "(int)__last2._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last2._M_current" identifier . field_identifier)) - (cast_expression "(int)__first2._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first2._M_current" identifier . field_identifier))) >> number_literal)) ;)) (if_statement "if (0 < (int)__last2._M_current - (int)__first2._M_current) {\n      pIVar16 = __result;\n      paVar6 = &((__first2._M_current)->section_name_).field_2;\n      do {\n        while( true ) {\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }\n        (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n        if (paVar4 == &(pIVar16->section_name_).field_2) {\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\n        else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar17 = iVar17 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar17 != 0);\n    }" if (parenthesized_expression "(0 < (int)__last2._M_current - (int)__first2._M_current)" ( (binary_expression "0 < (int)__last2._M_current - (int)__first2._M_current" number_literal < (binary_expression "(int)__last2._M_current - (int)__first2._M_current" (cast_expression "(int)__last2._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last2._M_current" identifier . field_identifier)) - (cast_expression "(int)__first2._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first2._M_current" identifier . field_identifier)))) )) (compound_statement "{\n      pIVar16 = __result;\n      paVar6 = &((__first2._M_current)->section_name_).field_2;\n      do {\n        while( true ) {\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }\n        (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n        if (paVar4 == &(pIVar16->section_name_).field_2) {\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\n        else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar17 = iVar17 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar17 != 0);\n    }" { (expression_statement "pIVar16 = __result;" (assignment_expression "pIVar16 = __result" identifier = identifier) ;) (expression_statement "paVar6 = &((__first2._M_current)->section_name_).field_2;" (assignment_expression "paVar6 = &((__first2._M_current)->section_name_).field_2" identifier = (pointer_expression "&((__first2._M_current)->section_name_).field_2" & (field_expression "((__first2._M_current)->section_name_).field_2" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) (do_statement "do {\n        while( true ) {\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }\n        (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n        if (paVar4 == &(pIVar16->section_name_).field_2) {\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\n        else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar17 = iVar17 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar17 != 0);" do (compound_statement "{\n        while( true ) {\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }\n        (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n        if (paVar4 == &(pIVar16->section_name_).field_2) {\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\n        else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar17 = iVar17 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      }" { (while_statement "while( true ) {\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n          sVar11 = *(size_type *)((int)paVar6 + -0x18);\n          sVar9 = *(size_type *)((int)paVar6 + -0x14);\n          aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n          sVar3 = *(size_type *)((int)paVar6 + -0xc);\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n          (pIVar16->input_section_).p2align_ = sVar13;\n          *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n          *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = sVar3;\n          psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n          if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          pIVar15 = pIVar16 + 1;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          iVar17 = iVar17 + -1;\n          puVar5 = (undefined1 *)psVar18[-2];\n          *(size_type *)((int)paVar6 + -4) = 0;\n          *puVar5 = 0;\n          sVar3 = paVar6[1]._M_allocated_capacity;\n          *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n          *(size_type *)&pIVar16->size_ = sVar3;\n          sVar3 = *(size_type *)((int)paVar6 + 0x18);\n          *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n          *(size_type *)&pIVar16->addralign_ = sVar3;\n          pIVar16 = pIVar15;\n          paVar6 = paVar6 + 4;\n          if (iVar17 == 0) {\n            return pIVar15;\n          }\n        }" { (expression_statement "sVar13 = *(size_type *)((int)paVar6 + -0x1c);" (assignment_expression "sVar13 = *(size_type *)((int)paVar6 + -0x1c)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -0x1c)" * (cast_expression "(size_type *)((int)paVar6 + -0x1c)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -0x1c)" ( (binary_expression "(int)paVar6 + -0x1c" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "sVar11 = *(size_type *)((int)paVar6 + -0x18);" (assignment_expression "sVar11 = *(size_type *)((int)paVar6 + -0x18)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -0x18)" * (cast_expression "(size_type *)((int)paVar6 + -0x18)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -0x18)" ( (binary_expression "(int)paVar6 + -0x18" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "sVar9 = *(size_type *)((int)paVar6 + -0x14);" (assignment_expression "sVar9 = *(size_type *)((int)paVar6 + -0x14)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -0x14)" * (cast_expression "(size_type *)((int)paVar6 + -0x14)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -0x14)" ( (binary_expression "(int)paVar6 + -0x14" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);" (assignment_expression "aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1)" identifier = (pointer_expression "*(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1)" * (cast_expression "(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1)" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(paVar6 + -1)" ( (binary_expression "paVar6 + -1" identifier + number_literal) ))))) ;) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + -0xc);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + -0xc)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -0xc)" * (cast_expression "(size_type *)((int)paVar6 + -0xc)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -0xc)" ( (binary_expression "(int)paVar6 + -0xc" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;" (assignment_expression "(pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity" (field_expression "(pIVar16->input_section_).shndx_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = (field_expression "paVar6[-2]._M_allocated_capacity" (subscript_expression "paVar6[-2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).p2align_ = sVar13;" (assignment_expression "(pIVar16->input_section_).p2align_ = sVar13" (field_expression "(pIVar16->input_section_).p2align_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(size_type *)&(pIVar16->input_section_).u1_ = sVar11;" (assignment_expression "*(size_type *)&(pIVar16->input_section_).u1_ = sVar11" (pointer_expression "*(size_type *)&(pIVar16->input_section_).u1_" * (cast_expression "(size_type *)&(pIVar16->input_section_).u1_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar16->input_section_).u1_" & (field_expression "(pIVar16->input_section_).u1_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "*(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;" (assignment_expression "*(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9" (pointer_expression "*(size_type *)((int)&(pIVar16->input_section_).u1_ + 4)" * (cast_expression "(size_type *)((int)&(pIVar16->input_section_).u1_ + 4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pIVar16->input_section_).u1_ + 4)" ( (binary_expression "(int)&(pIVar16->input_section_).u1_ + 4" (cast_expression "(int)&(pIVar16->input_section_).u1_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pIVar16->input_section_).u1_" & (field_expression "(pIVar16->input_section_).u1_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(pIVar16->input_section_).u2_ = aVar7;" (assignment_expression "(pIVar16->input_section_).u2_ = aVar7" (field_expression "(pIVar16->input_section_).u2_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(pIVar16->input_section_).section_order_index_ = sVar3;" (assignment_expression "(pIVar16->input_section_).section_order_index_ = sVar3" (field_expression "(pIVar16->input_section_).section_order_index_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;" (assignment_expression "psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" identifier = (cast_expression "(size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" (parenthesized_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)" ( (field_expression "((string *)((int)paVar6 + -8))->_M_dataplus" (parenthesized_expression "((string *)((int)paVar6 + -8))" ( (cast_expression "(string *)((int)paVar6 + -8)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -8)" ( (binary_expression "(int)paVar6 + -8" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier) )) . field_identifier))) ;) (if_statement "if (paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18) break;" if (parenthesized_expression "(paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18)" ( (binary_expression "paVar6 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18)" identifier != (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)psVar18)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                         *)psVar18" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                         *)psVar18" identifier * (ERROR ")" )) identifier)) ))) )) (break_statement "break;" break ;)) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + -4);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + -4)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }" if (parenthesized_expression "(sVar3 != 0)" ( (binary_expression "sVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }" { (if_statement "if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" if (parenthesized_expression "(sVar3 == 1)" ( (binary_expression "sVar3 == 1" identifier == number_literal) )) (compound_statement "{\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" { (expression_statement "paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];" (assignment_expression "paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0]" (subscript_expression "paVar4->_M_local_buf[0]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "paVar6->_M_local_buf[0]" (field_expression "paVar6->_M_local_buf" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + -4);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + -4)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" else (compound_statement "{\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" { (expression_statement "(*(code *)PTR_memcpy_00436788)(paVar4,paVar6);" (call_expression "(*(code *)PTR_memcpy_00436788)(paVar4,paVar6)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(paVar4,paVar6)" ( identifier , identifier ))) ;) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + -4);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + -4)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) }))) })) (expression_statement "(pIVar16->section_name_)._M_string_length = sVar3;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar3" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pIVar15 = pIVar16 + 1;" (assignment_expression "pIVar15 = pIVar16 + 1" identifier = (binary_expression "pIVar16 + 1" identifier + number_literal)) ;) (expression_statement "paVar4->_M_local_buf[sVar3] = '\0';" (assignment_expression "paVar4->_M_local_buf[sVar3] = '\0'" (subscript_expression "paVar4->_M_local_buf[sVar3]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "puVar5 = (undefined1 *)psVar18[-2];" (assignment_expression "puVar5 = (undefined1 *)psVar18[-2]" identifier = (cast_expression "(undefined1 *)psVar18[-2]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar18[-2]" identifier [ number_literal ]))) ;) (expression_statement "*(size_type *)((int)paVar6 + -4) = 0;" (assignment_expression "*(size_type *)((int)paVar6 + -4) = 0" (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "sVar3 = paVar6[1]._M_allocated_capacity;" (assignment_expression "sVar3 = paVar6[1]._M_allocated_capacity" identifier = (field_expression "paVar6[1]._M_allocated_capacity" (subscript_expression "paVar6[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);" (assignment_expression "*(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14)" (pointer_expression "*(size_type *)((int)&pIVar16->size_ + 4)" * (cast_expression "(size_type *)((int)&pIVar16->size_ + 4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->size_ + 4)" ( (binary_expression "(int)&pIVar16->size_ + 4" (cast_expression "(int)&pIVar16->size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(size_type *)((int)paVar6 + 0x14)" * (cast_expression "(size_type *)((int)paVar6 + 0x14)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + 0x14)" ( (binary_expression "(int)paVar6 + 0x14" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(size_type *)&pIVar16->size_ = sVar3;" (assignment_expression "*(size_type *)&pIVar16->size_ = sVar3" (pointer_expression "*(size_type *)&pIVar16->size_" * (cast_expression "(size_type *)&pIVar16->size_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + 0x18);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + 0x18)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + 0x18)" * (cast_expression "(size_type *)((int)paVar6 + 0x18)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + 0x18)" ( (binary_expression "(int)paVar6 + 0x18" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);" (assignment_expression "*(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c)" (pointer_expression "*(size_type *)((int)&pIVar16->addralign_ + 4)" * (cast_expression "(size_type *)((int)&pIVar16->addralign_ + 4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->addralign_ + 4)" ( (binary_expression "(int)&pIVar16->addralign_ + 4" (cast_expression "(int)&pIVar16->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(size_type *)((int)paVar6 + 0x1c)" * (cast_expression "(size_type *)((int)paVar6 + 0x1c)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + 0x1c)" ( (binary_expression "(int)paVar6 + 0x1c" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(size_type *)&pIVar16->addralign_ = sVar3;" (assignment_expression "*(size_type *)&pIVar16->addralign_ = sVar3" (pointer_expression "*(size_type *)&pIVar16->addralign_" * (cast_expression "(size_type *)&pIVar16->addralign_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pIVar16 = pIVar15;" (assignment_expression "pIVar16 = pIVar15" identifier = identifier) ;) (expression_statement "paVar6 = paVar6 + 4;" (assignment_expression "paVar6 = paVar6 + 4" identifier = (binary_expression "paVar6 + 4" identifier + number_literal)) ;) (if_statement "if (iVar17 == 0) {\n            return pIVar15;\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            return pIVar15;\n          }" { (return_statement "return pIVar15;" return identifier ;) })) })) (expression_statement "(pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;" (assignment_expression "(pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18" (field_expression "(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(pIVar16->section_name_)._M_dataplus" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)psVar18" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (paVar4 == &(pIVar16->section_name_).field_2) {\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\n        else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }" if (parenthesized_expression "(paVar4 == &(pIVar16->section_name_).field_2)" ( (binary_expression "paVar4 == &(pIVar16->section_name_).field_2" identifier == (pointer_expression "&(pIVar16->section_name_).field_2" & (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier))) )) (compound_statement "{\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\nLAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }" { (expression_statement "(pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);" (assignment_expression "(pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4)" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "paVar6->_M_allocated_capacity" identifier -> field_identifier)) ;) (labeled_statement "LAB_00219478:\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;" statement_identifier : (expression_statement "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;" (assignment_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6" (field_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" (parenthesized_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)" ( (field_expression "((string *)((int)paVar6 + -8))->_M_dataplus" (parenthesized_expression "((string *)((int)paVar6 + -8))" ( (cast_expression "(string *)((int)paVar6 + -8)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -8)" ( (binary_expression "(int)paVar6 + -8" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier) )) . field_identifier) = (cast_expression "(pointer)paVar6" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;)) (expression_statement "paVar4 = paVar6;" (assignment_expression "paVar4 = paVar6" identifier = identifier) ;) }) (else_clause "else {\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }" else (compound_statement "{\n          sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n          (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n          paVar6->_M_allocated_capacity = sVar3;\n        }" { (expression_statement "sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;" (assignment_expression "sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity" identifier = (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);" (assignment_expression "(pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4)" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "paVar6->_M_allocated_capacity" identifier -> field_identifier)) ;) (if_statement "if (paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_00219478;" if (parenthesized_expression "(paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0)" ( (binary_expression "paVar4 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0)" identifier == (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                         *)0x0" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                         *)0x0" identifier * (ERROR ")" )) number_literal)) ))) )) (goto_statement "goto LAB_00219478;" goto statement_identifier ;)) (expression_statement "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;" (assignment_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4" (field_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" (parenthesized_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)" ( (field_expression "((string *)((int)paVar6 + -8))->_M_dataplus" (parenthesized_expression "((string *)((int)paVar6 + -8))" ( (cast_expression "(string *)((int)paVar6 + -8)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -8)" ( (binary_expression "(int)paVar6 + -8" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier) )) . field_identifier) = (cast_expression "(pointer)paVar4" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "paVar6->_M_allocated_capacity = sVar3;" (assignment_expression "paVar6->_M_allocated_capacity = sVar3" (field_expression "paVar6->_M_allocated_capacity" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "*(size_type *)((int)paVar6 + -4) = 0;" (assignment_expression "*(size_type *)((int)paVar6 + -4) = 0" (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__result = pIVar16 + 1;" (assignment_expression "__result = pIVar16 + 1" identifier = (binary_expression "pIVar16 + 1" identifier + number_literal)) ;) (expression_statement "paVar4->_M_local_buf[0] = '\0';" (assignment_expression "paVar4->_M_local_buf[0] = '\0'" (subscript_expression "paVar4->_M_local_buf[0]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "sVar3 = paVar6[1]._M_allocated_capacity;" (assignment_expression "sVar3 = paVar6[1]._M_allocated_capacity" identifier = (field_expression "paVar6[1]._M_allocated_capacity" (subscript_expression "paVar6[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);" (assignment_expression "*(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14)" (pointer_expression "*(size_type *)((int)&pIVar16->size_ + 4)" * (cast_expression "(size_type *)((int)&pIVar16->size_ + 4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->size_ + 4)" ( (binary_expression "(int)&pIVar16->size_ + 4" (cast_expression "(int)&pIVar16->size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(size_type *)((int)paVar6 + 0x14)" * (cast_expression "(size_type *)((int)paVar6 + 0x14)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + 0x14)" ( (binary_expression "(int)paVar6 + 0x14" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(size_type *)&pIVar16->size_ = sVar3;" (assignment_expression "*(size_type *)&pIVar16->size_ = sVar3" (pointer_expression "*(size_type *)&pIVar16->size_" * (cast_expression "(size_type *)&pIVar16->size_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + 0x18);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + 0x18)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + 0x18)" * (cast_expression "(size_type *)((int)paVar6 + 0x18)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + 0x18)" ( (binary_expression "(int)paVar6 + 0x18" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);" (assignment_expression "*(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c)" (pointer_expression "*(size_type *)((int)&pIVar16->addralign_ + 4)" * (cast_expression "(size_type *)((int)&pIVar16->addralign_ + 4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->addralign_ + 4)" ( (binary_expression "(int)&pIVar16->addralign_ + 4" (cast_expression "(int)&pIVar16->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(size_type *)((int)paVar6 + 0x1c)" * (cast_expression "(size_type *)((int)paVar6 + 0x1c)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + 0x1c)" ( (binary_expression "(int)paVar6 + 0x1c" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(size_type *)&pIVar16->addralign_ = sVar3;" (assignment_expression "*(size_type *)&pIVar16->addralign_ = sVar3" (pointer_expression "*(size_type *)&pIVar16->addralign_" * (cast_expression "(size_type *)&pIVar16->addralign_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pIVar16 = __result;" (assignment_expression "pIVar16 = __result" identifier = identifier) ;) (expression_statement "paVar6 = paVar6 + 4;" (assignment_expression "paVar6 = paVar6 + 4" identifier = (binary_expression "paVar6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) ;) })) }) (else_clause "else {\n    if (__first2._M_current == __last2._M_current) {\n      iVar17 = -(int)__first1._M_current;\n    }\n    else {\n      pIVar16 = __result;\n      do {\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }\n    iVar17 = (int)&((__last1._M_current)->input_section_).shndx_ + iVar17;\n    iVar19 = iVar17 >> 6;\n    if (0 < iVar17) {\n      pIVar16 = __result;\n      paVar6 = &((__first1._M_current)->section_name_).field_2;\n      do {\n        sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n        sVar11 = *(size_type *)((int)paVar6 + -0x18);\n        sVar9 = *(size_type *)((int)paVar6 + -0x14);\n        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n        sVar3 = *(size_type *)((int)paVar6 + -0xc);\n        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;\n        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n        (pIVar16->input_section_).p2align_ = sVar13;\n        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n        (pIVar16->input_section_).u2_ = aVar7;\n        (pIVar16->input_section_).section_order_index_ = sVar3;\n        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\nLAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar19 = iVar19 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar19 != 0);\n    }\n  }" else (compound_statement "{\n    if (__first2._M_current == __last2._M_current) {\n      iVar17 = -(int)__first1._M_current;\n    }\n    else {\n      pIVar16 = __result;\n      do {\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }\n    iVar17 = (int)&((__last1._M_current)->input_section_).shndx_ + iVar17;\n    iVar19 = iVar17 >> 6;\n    if (0 < iVar17) {\n      pIVar16 = __result;\n      paVar6 = &((__first1._M_current)->section_name_).field_2;\n      do {\n        sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n        sVar11 = *(size_type *)((int)paVar6 + -0x18);\n        sVar9 = *(size_type *)((int)paVar6 + -0x14);\n        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n        sVar3 = *(size_type *)((int)paVar6 + -0xc);\n        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;\n        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n        (pIVar16->input_section_).p2align_ = sVar13;\n        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n        (pIVar16->input_section_).u2_ = aVar7;\n        (pIVar16->input_section_).section_order_index_ = sVar3;\n        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\nLAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar19 = iVar19 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar19 != 0);\n    }\n  }" { (if_statement "if (__first2._M_current == __last2._M_current) {\n      iVar17 = -(int)__first1._M_current;\n    }\n    else {\n      pIVar16 = __result;\n      do {\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }" if (parenthesized_expression "(__first2._M_current == __last2._M_current)" ( (binary_expression "__first2._M_current == __last2._M_current" (field_expression "__first2._M_current" identifier . field_identifier) == (field_expression "__last2._M_current" identifier . field_identifier)) )) (compound_statement "{\n      iVar17 = -(int)__first1._M_current;\n    }" { (expression_statement "iVar17 = -(int)__first1._M_current;" (assignment_expression "iVar17 = -(int)__first1._M_current" identifier = (unary_expression "-(int)__first1._M_current" - (cast_expression "(int)__first1._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first1._M_current" identifier . field_identifier)))) ;) }) (else_clause "else {\n      pIVar16 = __result;\n      do {\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }" else (compound_statement "{\n      pIVar16 = __result;\n      do {\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }" { (expression_statement "pIVar16 = __result;" (assignment_expression "pIVar16 = __result" identifier = identifier) ;) (do_statement "do {\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      } while (__first2._M_current != __last2._M_current);" do (compound_statement "{\n        bVar1 = gold::Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }\n        __result = pIVar16 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;\n        __result = pIVar16 + 1;\n        iVar17 = -(int)__first1._M_current;\n        pIVar16 = __result;\n      }" { (ERROR "bVar1 = gold::" (assignment_expression "bVar1 = gold" identifier = identifier) : :) (labeled_statement "Input_section_sorter::operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);" statement_identifier : (ERROR ":" :) (expression_statement "operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current);" (call_expression "operator()\n                          (&__comp._M_comp,__first2._M_current,__first1._M_current)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "(&__comp._M_comp,__first2._M_current,__first1._M_current)" ( (pointer_expression "&__comp._M_comp" & (field_expression "__comp._M_comp" identifier . field_identifier)) , (field_expression "__first2._M_current" identifier . field_identifier) , (field_expression "__first1._M_current" identifier . field_identifier) ))) ;)) (if_statement "if (CONCAT31(extraout_var,bVar1) == 0) {\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }\n        else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }" if (parenthesized_expression "(CONCAT31(extraout_var,bVar1) == 0)" ( (binary_expression "CONCAT31(extraout_var,bVar1) == 0" (call_expression "CONCAT31(extraout_var,bVar1)" identifier (argument_list "(extraout_var,bVar1)" ( identifier , identifier ))) == number_literal) )) (compound_statement "{\n          aVar7 = ((__first1._M_current)->input_section_).u2_;\n          paVar6 = &((__first1._M_current)->section_name_).field_2;\n          uVar14 = ((__first1._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first1._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first1._M_current = __first1._M_current + 1;\n        }" { (expression_statement "aVar7 = ((__first1._M_current)->input_section_).u2_;" (assignment_expression "aVar7 = ((__first1._M_current)->input_section_).u2_" identifier = (field_expression "((__first1._M_current)->input_section_).u2_" (parenthesized_expression "((__first1._M_current)->input_section_)" ( (field_expression "(__first1._M_current)->input_section_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "paVar6 = &((__first1._M_current)->section_name_).field_2;" (assignment_expression "paVar6 = &((__first1._M_current)->section_name_).field_2" identifier = (pointer_expression "&((__first1._M_current)->section_name_).field_2" & (field_expression "((__first1._M_current)->section_name_).field_2" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) (expression_statement "uVar14 = ((__first1._M_current)->input_section_).p2align_;" (assignment_expression "uVar14 = ((__first1._M_current)->input_section_).p2align_" identifier = (field_expression "((__first1._M_current)->input_section_).p2align_" (parenthesized_expression "((__first1._M_current)->input_section_)" ( (field_expression "(__first1._M_current)->input_section_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_;" (assignment_expression "uVar12 = *(undefined4 *)&((__first1._M_current)->input_section_).u1_" identifier = (pointer_expression "*(undefined4 *)&((__first1._M_current)->input_section_).u1_" * (cast_expression "(undefined4 *)&((__first1._M_current)->input_section_).u1_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((__first1._M_current)->input_section_).u1_" & (field_expression "((__first1._M_current)->input_section_).u1_" (parenthesized_expression "((__first1._M_current)->input_section_)" ( (field_expression "(__first1._M_current)->input_section_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))))) ;) (expression_statement "uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);" (assignment_expression "uVar10 = *(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4)" * (cast_expression "(undefined4 *)((int)&((__first1._M_current)->input_section_).u1_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((__first1._M_current)->input_section_).u1_ + 4)" ( (binary_expression "(int)&((__first1._M_current)->input_section_).u1_ + 4" (cast_expression "(int)&((__first1._M_current)->input_section_).u1_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((__first1._M_current)->input_section_).u1_" & (field_expression "((__first1._M_current)->input_section_).u1_" (parenthesized_expression "((__first1._M_current)->input_section_)" ( (field_expression "(__first1._M_current)->input_section_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar2 = ((__first1._M_current)->input_section_).section_order_index_;" (assignment_expression "uVar2 = ((__first1._M_current)->input_section_).section_order_index_" identifier = (field_expression "((__first1._M_current)->input_section_).section_order_index_" (parenthesized_expression "((__first1._M_current)->input_section_)" ( (field_expression "(__first1._M_current)->input_section_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;" (assignment_expression "(pIVar16->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_" (field_expression "(pIVar16->input_section_).shndx_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = (field_expression "((__first1._M_current)->input_section_).shndx_" (parenthesized_expression "((__first1._M_current)->input_section_)" ( (field_expression "(__first1._M_current)->input_section_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).p2align_ = uVar14;" (assignment_expression "(pIVar16->input_section_).p2align_ = uVar14" (field_expression "(pIVar16->input_section_).p2align_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;" (assignment_expression "*(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12" (pointer_expression "*(undefined4 *)&(pIVar16->input_section_).u1_" * (cast_expression "(undefined4 *)&(pIVar16->input_section_).u1_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar16->input_section_).u1_" & (field_expression "(pIVar16->input_section_).u1_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;" (assignment_expression "*(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10" (pointer_expression "*(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4)" * (cast_expression "(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pIVar16->input_section_).u1_ + 4)" ( (binary_expression "(int)&(pIVar16->input_section_).u1_ + 4" (cast_expression "(int)&(pIVar16->input_section_).u1_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pIVar16->input_section_).u1_" & (field_expression "(pIVar16->input_section_).u1_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(pIVar16->input_section_).u2_ = aVar7;" (assignment_expression "(pIVar16->input_section_).u2_ = aVar7" (field_expression "(pIVar16->input_section_).u2_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(pIVar16->input_section_).section_order_index_ = uVar2;" (assignment_expression "(pIVar16->input_section_).section_order_index_ = uVar2" (field_expression "(pIVar16->input_section_).section_order_index_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar8 = ((__first1._M_current)->section_name_)._M_dataplus._M_p" identifier = (field_expression "((__first1._M_current)->section_name_)._M_dataplus._M_p" (field_expression "((__first1._M_current)->section_name_)._M_dataplus" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n               *)pcVar8 == paVar6" (binary_expression "allocator<char>_>_9\n               *)pcVar8" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)pcVar8" identifier * (ERROR ")" )) identifier)) == identifier) )) )) (compound_statement "{\n            sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n          }" { (expression_statement "sVar3 = ((__first1._M_current)->section_name_)._M_string_length;" (assignment_expression "sVar3 = ((__first1._M_current)->section_name_)._M_string_length" identifier = (field_expression "((__first1._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (if_statement "if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" if (parenthesized_expression "(sVar3 != 0)" ( (binary_expression "sVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" { (if_statement "if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }" if (parenthesized_expression "(sVar3 == 1)" ( (binary_expression "sVar3 == 1" identifier == number_literal) )) (compound_statement "{\n                paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first1._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_002190b8;\n              }" { (expression_statement "paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];" (assignment_expression "paVar4->_M_local_buf[0] =\n                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0]" (subscript_expression "paVar4->_M_local_buf[0]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "((__first1._M_current)->section_name_).field_2._M_local_buf[0]" (field_expression "((__first1._M_current)->section_name_).field_2._M_local_buf" (field_expression "((__first1._M_current)->section_name_).field_2" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) ;) (expression_statement "sVar3 = ((__first1._M_current)->section_name_)._M_string_length;" (assignment_expression "sVar3 = ((__first1._M_current)->section_name_)._M_string_length" identifier = (field_expression "((__first1._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(pIVar16->section_name_)._M_dataplus" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_)._M_string_length = sVar3;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar3" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pcVar8[sVar3] = '\0';" (assignment_expression "pcVar8[sVar3] = '\0'" (subscript_expression "pcVar8[sVar3]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first1._M_current)->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (goto_statement "goto LAB_002190b8;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_memcpy_00436788)();" (call_expression "(*(code *)PTR_memcpy_00436788)()" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "sVar3 = ((__first1._M_current)->section_name_)._M_string_length;" (assignment_expression "sVar3 = ((__first1._M_current)->section_name_)._M_string_length" identifier = (field_expression "((__first1._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) })) (expression_statement "(pIVar16->section_name_)._M_string_length = sVar3;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar3" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "paVar4->_M_local_buf[sVar3] = '\0';" (assignment_expression "paVar4->_M_local_buf[sVar3] = '\0'" (subscript_expression "paVar4->_M_local_buf[sVar3]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first1._M_current)->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }" else (compound_statement "{\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }\n            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }" { (expression_statement "(pIVar16->section_name_)._M_dataplus._M_p = pcVar8;" (assignment_expression "(pIVar16->section_name_)._M_dataplus._M_p = pcVar8" (field_expression "(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(pIVar16->section_name_)._M_dataplus" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }" if (parenthesized_expression "(paVar4 == &(pIVar16->section_name_).field_2)" ( (binary_expression "paVar4 == &(pIVar16->section_name_).field_2" identifier == (pointer_expression "&(pIVar16->section_name_).field_2" & (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier))) )) (compound_statement "{\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n            }" { (expression_statement "(pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;" (assignment_expression "(pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = (field_expression "((__first1._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "((__first1._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "((__first1._M_current)->section_name_).field_2" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }" else (compound_statement "{\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }\n            }" { (expression_statement "sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;" (assignment_expression "sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity" identifier = (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length;" (assignment_expression "(pIVar16->section_name_)._M_string_length =\n                   ((__first1._M_current)->section_name_)._M_string_length" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = (field_expression "((__first1._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "((__first1._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "((__first1._M_current)->section_name_).field_2" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }" if (parenthesized_expression "(paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0)" ( (binary_expression "paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0)" identifier != (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                             *)0x0" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                             *)0x0" identifier * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_002190b8;\n              }" { (expression_statement "((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;" (assignment_expression "((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4" (field_expression "((__first1._M_current)->section_name_)._M_dataplus._M_p" (field_expression "((__first1._M_current)->section_name_)._M_dataplus" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar4" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;" (assignment_expression "((__first1._M_current)->section_name_).field_2._M_allocated_capacity = sVar3" (field_expression "((__first1._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "((__first1._M_current)->section_name_).field_2" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "paVar6 = paVar4;" (assignment_expression "paVar6 = paVar4" identifier = identifier) ;) (goto_statement "goto LAB_002190b8;" goto statement_identifier ;) })) }))) (expression_statement "((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;" (assignment_expression "((__first1._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6" (field_expression "((__first1._M_current)->section_name_)._M_dataplus._M_p" (field_expression "((__first1._M_current)->section_name_)._M_dataplus" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar6" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) }))) (labeled_statement "LAB_002190b8:\n          ((__first1._M_current)->section_name_)._M_string_length = 0;" statement_identifier : (expression_statement "((__first1._M_current)->section_name_)._M_string_length = 0;" (assignment_expression "((__first1._M_current)->section_name_)._M_string_length = 0" (field_expression "((__first1._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = number_literal) ;)) (expression_statement "paVar6->_M_local_buf[0] = '\0';" (assignment_expression "paVar6->_M_local_buf[0] = '\0'" (subscript_expression "paVar6->_M_local_buf[0]" (field_expression "paVar6->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar10 = *(undefined4 *)&(__first1._M_current)->size_;" (assignment_expression "uVar10 = *(undefined4 *)&(__first1._M_current)->size_" identifier = (pointer_expression "*(undefined4 *)&(__first1._M_current)->size_" * (cast_expression "(undefined4 *)&(__first1._M_current)->size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__first1._M_current)->size_" & (field_expression "(__first1._M_current)->size_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier))))) ;) (expression_statement "*(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_;" (assignment_expression "*(int *)((int)&pIVar16->size_ + 4) = (int)(__first1._M_current)->size_" (pointer_expression "*(int *)((int)&pIVar16->size_ + 4)" * (cast_expression "(int *)((int)&pIVar16->size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->size_ + 4)" ( (binary_expression "(int)&pIVar16->size_ + 4" (cast_expression "(int)&pIVar16->size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(int)(__first1._M_current)->size_" ( (type_descriptor "int" primitive_type) ) (field_expression "(__first1._M_current)->size_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pIVar16->size_ = uVar10;" (assignment_expression "*(undefined4 *)&pIVar16->size_ = uVar10" (pointer_expression "*(undefined4 *)&pIVar16->size_" * (cast_expression "(undefined4 *)&pIVar16->size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_;" (assignment_expression "uVar10 = *(undefined4 *)&(__first1._M_current)->addralign_" identifier = (pointer_expression "*(undefined4 *)&(__first1._M_current)->addralign_" * (cast_expression "(undefined4 *)&(__first1._M_current)->addralign_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__first1._M_current)->addralign_" & (field_expression "(__first1._M_current)->addralign_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier))))) ;) (expression_statement "*(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_;" (assignment_expression "*(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first1._M_current)->addralign_" (pointer_expression "*(int *)((int)&pIVar16->addralign_ + 4)" * (cast_expression "(int *)((int)&pIVar16->addralign_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->addralign_ + 4)" ( (binary_expression "(int)&pIVar16->addralign_ + 4" (cast_expression "(int)&pIVar16->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(int)(__first1._M_current)->addralign_" ( (type_descriptor "int" primitive_type) ) (field_expression "(__first1._M_current)->addralign_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pIVar16->addralign_ = uVar10;" (assignment_expression "*(undefined4 *)&pIVar16->addralign_ = uVar10" (pointer_expression "*(undefined4 *)&pIVar16->addralign_" * (cast_expression "(undefined4 *)&pIVar16->addralign_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "__first1._M_current = __first1._M_current + 1;" (assignment_expression "__first1._M_current = __first1._M_current + 1" (field_expression "__first1._M_current" identifier . field_identifier) = (binary_expression "__first1._M_current + 1" (field_expression "__first1._M_current" identifier . field_identifier) + number_literal)) ;) }) (else_clause "else {\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }" else (compound_statement "{\n          aVar7 = ((__first2._M_current)->input_section_).u2_;\n          paVar6 = &((__first2._M_current)->section_name_).field_2;\n          uVar14 = ((__first2._M_current)->input_section_).p2align_;\n          uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;\n          uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);\n          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;\n          (pIVar16->input_section_).p2align_ = uVar14;\n          *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;\n          *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;\n          (pIVar16->input_section_).u2_ = aVar7;\n          (pIVar16->input_section_).section_order_index_ = uVar2;\n          pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }\nLAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;\n          paVar6->_M_local_buf[0] = '\0';\n          uVar10 = *(undefined4 *)&(__first2._M_current)->size_;\n          *(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;\n          *(undefined4 *)&pIVar16->size_ = uVar10;\n          uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;\n          *(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;\n          *(undefined4 *)&pIVar16->addralign_ = uVar10;\n          __first2._M_current = __first2._M_current + 1;\n        }" { (expression_statement "aVar7 = ((__first2._M_current)->input_section_).u2_;" (assignment_expression "aVar7 = ((__first2._M_current)->input_section_).u2_" identifier = (field_expression "((__first2._M_current)->input_section_).u2_" (parenthesized_expression "((__first2._M_current)->input_section_)" ( (field_expression "(__first2._M_current)->input_section_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "paVar6 = &((__first2._M_current)->section_name_).field_2;" (assignment_expression "paVar6 = &((__first2._M_current)->section_name_).field_2" identifier = (pointer_expression "&((__first2._M_current)->section_name_).field_2" & (field_expression "((__first2._M_current)->section_name_).field_2" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) (expression_statement "uVar14 = ((__first2._M_current)->input_section_).p2align_;" (assignment_expression "uVar14 = ((__first2._M_current)->input_section_).p2align_" identifier = (field_expression "((__first2._M_current)->input_section_).p2align_" (parenthesized_expression "((__first2._M_current)->input_section_)" ( (field_expression "(__first2._M_current)->input_section_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_;" (assignment_expression "uVar12 = *(undefined4 *)&((__first2._M_current)->input_section_).u1_" identifier = (pointer_expression "*(undefined4 *)&((__first2._M_current)->input_section_).u1_" * (cast_expression "(undefined4 *)&((__first2._M_current)->input_section_).u1_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((__first2._M_current)->input_section_).u1_" & (field_expression "((__first2._M_current)->input_section_).u1_" (parenthesized_expression "((__first2._M_current)->input_section_)" ( (field_expression "(__first2._M_current)->input_section_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))))) ;) (expression_statement "uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);" (assignment_expression "uVar10 = *(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4)" * (cast_expression "(undefined4 *)((int)&((__first2._M_current)->input_section_).u1_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((__first2._M_current)->input_section_).u1_ + 4)" ( (binary_expression "(int)&((__first2._M_current)->input_section_).u1_ + 4" (cast_expression "(int)&((__first2._M_current)->input_section_).u1_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((__first2._M_current)->input_section_).u1_" & (field_expression "((__first2._M_current)->input_section_).u1_" (parenthesized_expression "((__first2._M_current)->input_section_)" ( (field_expression "(__first2._M_current)->input_section_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar2 = ((__first2._M_current)->input_section_).section_order_index_;" (assignment_expression "uVar2 = ((__first2._M_current)->input_section_).section_order_index_" identifier = (field_expression "((__first2._M_current)->input_section_).section_order_index_" (parenthesized_expression "((__first2._M_current)->input_section_)" ( (field_expression "(__first2._M_current)->input_section_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;" (assignment_expression "(pIVar16->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_" (field_expression "(pIVar16->input_section_).shndx_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = (field_expression "((__first2._M_current)->input_section_).shndx_" (parenthesized_expression "((__first2._M_current)->input_section_)" ( (field_expression "(__first2._M_current)->input_section_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).p2align_ = uVar14;" (assignment_expression "(pIVar16->input_section_).p2align_ = uVar14" (field_expression "(pIVar16->input_section_).p2align_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12;" (assignment_expression "*(undefined4 *)&(pIVar16->input_section_).u1_ = uVar12" (pointer_expression "*(undefined4 *)&(pIVar16->input_section_).u1_" * (cast_expression "(undefined4 *)&(pIVar16->input_section_).u1_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar16->input_section_).u1_" & (field_expression "(pIVar16->input_section_).u1_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10;" (assignment_expression "*(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar10" (pointer_expression "*(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4)" * (cast_expression "(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pIVar16->input_section_).u1_ + 4)" ( (binary_expression "(int)&(pIVar16->input_section_).u1_ + 4" (cast_expression "(int)&(pIVar16->input_section_).u1_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pIVar16->input_section_).u1_" & (field_expression "(pIVar16->input_section_).u1_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(pIVar16->input_section_).u2_ = aVar7;" (assignment_expression "(pIVar16->input_section_).u2_ = aVar7" (field_expression "(pIVar16->input_section_).u2_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(pIVar16->input_section_).section_order_index_ = uVar2;" (assignment_expression "(pIVar16->input_section_).section_order_index_ = uVar2" (field_expression "(pIVar16->input_section_).section_order_index_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar8 = ((__first2._M_current)->section_name_)._M_dataplus._M_p" identifier = (field_expression "((__first2._M_current)->section_name_)._M_dataplus._M_p" (field_expression "((__first2._M_current)->section_name_)._M_dataplus" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6) {\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }\n          else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar8 == paVar6)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n               *)pcVar8 == paVar6" (binary_expression "allocator<char>_>_9\n               *)pcVar8" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)pcVar8" identifier * (ERROR ")" )) identifier)) == identifier) )) )) (compound_statement "{\n            sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n            if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            (pIVar16->section_name_)._M_string_length = sVar3;\n            paVar4->_M_local_buf[sVar3] = '\0';\n            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n          }" { (expression_statement "sVar3 = ((__first2._M_current)->section_name_)._M_string_length;" (assignment_expression "sVar3 = ((__first2._M_current)->section_name_)._M_string_length" identifier = (field_expression "((__first2._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (if_statement "if (sVar3 != 0) {\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" if (parenthesized_expression "(sVar3 != 0)" ( (binary_expression "sVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" { (if_statement "if (sVar3 == 1) {\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }" if (parenthesized_expression "(sVar3 == 1)" ( (binary_expression "sVar3 == 1" identifier == number_literal) )) (compound_statement "{\n                paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];\n                sVar3 = ((__first2._M_current)->section_name_)._M_string_length;\n                pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;\n                (pIVar16->section_name_)._M_string_length = sVar3;\n                pcVar8[sVar3] = '\0';\n                paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;\n                goto LAB_00218ff4;\n              }" { (expression_statement "paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];" (assignment_expression "paVar4->_M_local_buf[0] =\n                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0]" (subscript_expression "paVar4->_M_local_buf[0]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "((__first2._M_current)->section_name_).field_2._M_local_buf[0]" (field_expression "((__first2._M_current)->section_name_).field_2._M_local_buf" (field_expression "((__first2._M_current)->section_name_).field_2" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) ;) (expression_statement "sVar3 = ((__first2._M_current)->section_name_)._M_string_length;" (assignment_expression "sVar3 = ((__first2._M_current)->section_name_)._M_string_length" identifier = (field_expression "((__first2._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar8 = (pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(pIVar16->section_name_)._M_dataplus" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_)._M_string_length = sVar3;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar3" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pcVar8[sVar3] = '\0';" (assignment_expression "pcVar8[sVar3] = '\0'" (subscript_expression "pcVar8[sVar3]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)((__first2._M_current)->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (goto_statement "goto LAB_00218ff4;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_memcpy_00436788)();" (call_expression "(*(code *)PTR_memcpy_00436788)()" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "sVar3 = ((__first2._M_current)->section_name_)._M_string_length;" (assignment_expression "sVar3 = ((__first2._M_current)->section_name_)._M_string_length" identifier = (field_expression "((__first2._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) })) (expression_statement "(pIVar16->section_name_)._M_string_length = sVar3;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar3" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "paVar4->_M_local_buf[sVar3] = '\0';" (assignment_expression "paVar4->_M_local_buf[sVar3] = '\0'" (subscript_expression "paVar4->_M_local_buf[sVar3]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)((__first2._M_current)->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                      *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }" else (compound_statement "{\n            (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n            if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          }" { (expression_statement "(pIVar16->section_name_)._M_dataplus._M_p = pcVar8;" (assignment_expression "(pIVar16->section_name_)._M_dataplus._M_p = pcVar8" (field_expression "(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(pIVar16->section_name_)._M_dataplus" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (paVar4 == &(pIVar16->section_name_).field_2) {\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }\n            else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }" if (parenthesized_expression "(paVar4 == &(pIVar16->section_name_).field_2)" ( (binary_expression "paVar4 == &(pIVar16->section_name_).field_2" identifier == (pointer_expression "&(pIVar16->section_name_).field_2" & (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier))) )) (compound_statement "{\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n            }" { (expression_statement "(pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;" (assignment_expression "(pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = (field_expression "((__first2._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "((__first2._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "((__first2._M_current)->section_name_).field_2" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }" else (compound_statement "{\n              sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n              (pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;\n              (pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;\n              if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }\n            }" { (expression_statement "sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;" (assignment_expression "sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity" identifier = (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length;" (assignment_expression "(pIVar16->section_name_)._M_string_length =\n                   ((__first2._M_current)->section_name_)._M_string_length" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = (field_expression "((__first2._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity =\n                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "((__first2._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "((__first2._M_current)->section_name_).field_2" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0) {\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }" if (parenthesized_expression "(paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0)" ( (binary_expression "paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0)" identifier != (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                             *)0x0)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                             *)0x0" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                             *)0x0" identifier * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;\n                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;\n                paVar6 = paVar4;\n                goto LAB_00218ff4;\n              }" { (expression_statement "((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4;" (assignment_expression "((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar4" (field_expression "((__first2._M_current)->section_name_)._M_dataplus._M_p" (field_expression "((__first2._M_current)->section_name_)._M_dataplus" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar4" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3;" (assignment_expression "((__first2._M_current)->section_name_).field_2._M_allocated_capacity = sVar3" (field_expression "((__first2._M_current)->section_name_).field_2._M_allocated_capacity" (field_expression "((__first2._M_current)->section_name_).field_2" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "paVar6 = paVar4;" (assignment_expression "paVar6 = paVar4" identifier = identifier) ;) (goto_statement "goto LAB_00218ff4;" goto statement_identifier ;) })) }))) (expression_statement "((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6;" (assignment_expression "((__first2._M_current)->section_name_)._M_dataplus._M_p = (pointer)paVar6" (field_expression "((__first2._M_current)->section_name_)._M_dataplus._M_p" (field_expression "((__first2._M_current)->section_name_)._M_dataplus" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar6" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) }))) (labeled_statement "LAB_00218ff4:\n          ((__first2._M_current)->section_name_)._M_string_length = 0;" statement_identifier : (expression_statement "((__first2._M_current)->section_name_)._M_string_length = 0;" (assignment_expression "((__first2._M_current)->section_name_)._M_string_length = 0" (field_expression "((__first2._M_current)->section_name_)._M_string_length" (parenthesized_expression "((__first2._M_current)->section_name_)" ( (field_expression "(__first2._M_current)->section_name_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = number_literal) ;)) (expression_statement "paVar6->_M_local_buf[0] = '\0';" (assignment_expression "paVar6->_M_local_buf[0] = '\0'" (subscript_expression "paVar6->_M_local_buf[0]" (field_expression "paVar6->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar10 = *(undefined4 *)&(__first2._M_current)->size_;" (assignment_expression "uVar10 = *(undefined4 *)&(__first2._M_current)->size_" identifier = (pointer_expression "*(undefined4 *)&(__first2._M_current)->size_" * (cast_expression "(undefined4 *)&(__first2._M_current)->size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__first2._M_current)->size_" & (field_expression "(__first2._M_current)->size_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier))))) ;) (expression_statement "*(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_;" (assignment_expression "*(int *)((int)&pIVar16->size_ + 4) = (int)(__first2._M_current)->size_" (pointer_expression "*(int *)((int)&pIVar16->size_ + 4)" * (cast_expression "(int *)((int)&pIVar16->size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->size_ + 4)" ( (binary_expression "(int)&pIVar16->size_ + 4" (cast_expression "(int)&pIVar16->size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(int)(__first2._M_current)->size_" ( (type_descriptor "int" primitive_type) ) (field_expression "(__first2._M_current)->size_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pIVar16->size_ = uVar10;" (assignment_expression "*(undefined4 *)&pIVar16->size_ = uVar10" (pointer_expression "*(undefined4 *)&pIVar16->size_" * (cast_expression "(undefined4 *)&pIVar16->size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_;" (assignment_expression "uVar10 = *(undefined4 *)&(__first2._M_current)->addralign_" identifier = (pointer_expression "*(undefined4 *)&(__first2._M_current)->addralign_" * (cast_expression "(undefined4 *)&(__first2._M_current)->addralign_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__first2._M_current)->addralign_" & (field_expression "(__first2._M_current)->addralign_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier))))) ;) (expression_statement "*(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_;" (assignment_expression "*(int *)((int)&pIVar16->addralign_ + 4) = (int)(__first2._M_current)->addralign_" (pointer_expression "*(int *)((int)&pIVar16->addralign_ + 4)" * (cast_expression "(int *)((int)&pIVar16->addralign_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->addralign_ + 4)" ( (binary_expression "(int)&pIVar16->addralign_ + 4" (cast_expression "(int)&pIVar16->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(int)(__first2._M_current)->addralign_" ( (type_descriptor "int" primitive_type) ) (field_expression "(__first2._M_current)->addralign_" (parenthesized_expression "(__first2._M_current)" ( (field_expression "__first2._M_current" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pIVar16->addralign_ = uVar10;" (assignment_expression "*(undefined4 *)&pIVar16->addralign_ = uVar10" (pointer_expression "*(undefined4 *)&pIVar16->addralign_" * (cast_expression "(undefined4 *)&pIVar16->addralign_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "__first2._M_current = __first2._M_current + 1;" (assignment_expression "__first2._M_current = __first2._M_current + 1" (field_expression "__first2._M_current" identifier . field_identifier) = (binary_expression "__first2._M_current + 1" (field_expression "__first2._M_current" identifier . field_identifier) + number_literal)) ;) }))) (expression_statement "__result = pIVar16 + 1;" (assignment_expression "__result = pIVar16 + 1" identifier = (binary_expression "pIVar16 + 1" identifier + number_literal)) ;) (if_statement "if (__first1._M_current == __last1._M_current) goto LAB_002190ec;" if (parenthesized_expression "(__first1._M_current == __last1._M_current)" ( (binary_expression "__first1._M_current == __last1._M_current" (field_expression "__first1._M_current" identifier . field_identifier) == (field_expression "__last1._M_current" identifier . field_identifier)) )) (goto_statement "goto LAB_002190ec;" goto statement_identifier ;)) (expression_statement "__result = pIVar16 + 1;" (assignment_expression "__result = pIVar16 + 1" identifier = (binary_expression "pIVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar17 = -(int)__first1._M_current;" (assignment_expression "iVar17 = -(int)__first1._M_current" identifier = (unary_expression "-(int)__first1._M_current" - (cast_expression "(int)__first1._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first1._M_current" identifier . field_identifier)))) ;) (expression_statement "pIVar16 = __result;" (assignment_expression "pIVar16 = __result" identifier = identifier) ;) }) while (parenthesized_expression "(__first2._M_current != __last2._M_current)" ( (binary_expression "__first2._M_current != __last2._M_current" (field_expression "__first2._M_current" identifier . field_identifier) != (field_expression "__last2._M_current" identifier . field_identifier)) )) ;) }))) (expression_statement "iVar17 = (int)&((__last1._M_current)->input_section_).shndx_ + iVar17;" (assignment_expression "iVar17 = (int)&((__last1._M_current)->input_section_).shndx_ + iVar17" identifier = (binary_expression "(int)&((__last1._M_current)->input_section_).shndx_ + iVar17" (cast_expression "(int)&((__last1._M_current)->input_section_).shndx_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((__last1._M_current)->input_section_).shndx_" & (field_expression "((__last1._M_current)->input_section_).shndx_" (parenthesized_expression "((__last1._M_current)->input_section_)" ( (field_expression "(__last1._M_current)->input_section_" (parenthesized_expression "(__last1._M_current)" ( (field_expression "__last1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) + identifier)) ;) (expression_statement "iVar19 = iVar17 >> 6;" (assignment_expression "iVar19 = iVar17 >> 6" identifier = (binary_expression "iVar17 >> 6" identifier >> number_literal)) ;) (if_statement "if (0 < iVar17) {\n      pIVar16 = __result;\n      paVar6 = &((__first1._M_current)->section_name_).field_2;\n      do {\n        sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n        sVar11 = *(size_type *)((int)paVar6 + -0x18);\n        sVar9 = *(size_type *)((int)paVar6 + -0x14);\n        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n        sVar3 = *(size_type *)((int)paVar6 + -0xc);\n        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;\n        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n        (pIVar16->input_section_).p2align_ = sVar13;\n        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n        (pIVar16->input_section_).u2_ = aVar7;\n        (pIVar16->input_section_).section_order_index_ = sVar3;\n        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\nLAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar19 = iVar19 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar19 != 0);\n    }" if (parenthesized_expression "(0 < iVar17)" ( (binary_expression "0 < iVar17" number_literal < identifier) )) (compound_statement "{\n      pIVar16 = __result;\n      paVar6 = &((__first1._M_current)->section_name_).field_2;\n      do {\n        sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n        sVar11 = *(size_type *)((int)paVar6 + -0x18);\n        sVar9 = *(size_type *)((int)paVar6 + -0x14);\n        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n        sVar3 = *(size_type *)((int)paVar6 + -0xc);\n        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;\n        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n        (pIVar16->input_section_).p2align_ = sVar13;\n        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n        (pIVar16->input_section_).u2_ = aVar7;\n        (pIVar16->input_section_).section_order_index_ = sVar3;\n        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\nLAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar19 = iVar19 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar19 != 0);\n    }" { (expression_statement "pIVar16 = __result;" (assignment_expression "pIVar16 = __result" identifier = identifier) ;) (expression_statement "paVar6 = &((__first1._M_current)->section_name_).field_2;" (assignment_expression "paVar6 = &((__first1._M_current)->section_name_).field_2" identifier = (pointer_expression "&((__first1._M_current)->section_name_).field_2" & (field_expression "((__first1._M_current)->section_name_).field_2" (parenthesized_expression "((__first1._M_current)->section_name_)" ( (field_expression "(__first1._M_current)->section_name_" (parenthesized_expression "(__first1._M_current)" ( (field_expression "__first1._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) (do_statement "do {\n        sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n        sVar11 = *(size_type *)((int)paVar6 + -0x18);\n        sVar9 = *(size_type *)((int)paVar6 + -0x14);\n        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n        sVar3 = *(size_type *)((int)paVar6 + -0xc);\n        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;\n        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n        (pIVar16->input_section_).p2align_ = sVar13;\n        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n        (pIVar16->input_section_).u2_ = aVar7;\n        (pIVar16->input_section_).section_order_index_ = sVar3;\n        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\nLAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar19 = iVar19 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      } while (iVar19 != 0);" do (compound_statement "{\n        sVar13 = *(size_type *)((int)paVar6 + -0x1c);\n        sVar11 = *(size_type *)((int)paVar6 + -0x18);\n        sVar9 = *(size_type *)((int)paVar6 + -0x14);\n        aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);\n        sVar3 = *(size_type *)((int)paVar6 + -0xc);\n        paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;\n        (pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;\n        (pIVar16->input_section_).p2align_ = sVar13;\n        *(size_type *)&(pIVar16->input_section_).u1_ = sVar11;\n        *(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;\n        (pIVar16->input_section_).u2_ = aVar7;\n        (pIVar16->input_section_).section_order_index_ = sVar3;\n        psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;\n        if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }\nLAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;\n        __result = pIVar16 + 1;\n        paVar4->_M_local_buf[0] = '\0';\n        iVar19 = iVar19 + -1;\n        sVar3 = paVar6[1]._M_allocated_capacity;\n        *(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);\n        *(size_type *)&pIVar16->size_ = sVar3;\n        sVar3 = *(size_type *)((int)paVar6 + 0x18);\n        *(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);\n        *(size_type *)&pIVar16->addralign_ = sVar3;\n        pIVar16 = __result;\n        paVar6 = paVar6 + 4;\n      }" { (expression_statement "sVar13 = *(size_type *)((int)paVar6 + -0x1c);" (assignment_expression "sVar13 = *(size_type *)((int)paVar6 + -0x1c)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -0x1c)" * (cast_expression "(size_type *)((int)paVar6 + -0x1c)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -0x1c)" ( (binary_expression "(int)paVar6 + -0x1c" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "sVar11 = *(size_type *)((int)paVar6 + -0x18);" (assignment_expression "sVar11 = *(size_type *)((int)paVar6 + -0x18)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -0x18)" * (cast_expression "(size_type *)((int)paVar6 + -0x18)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -0x18)" ( (binary_expression "(int)paVar6 + -0x18" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "sVar9 = *(size_type *)((int)paVar6 + -0x14);" (assignment_expression "sVar9 = *(size_type *)((int)paVar6 + -0x14)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -0x14)" * (cast_expression "(size_type *)((int)paVar6 + -0x14)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -0x14)" ( (binary_expression "(int)paVar6 + -0x14" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1);" (assignment_expression "aVar7 = *(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1)" identifier = (pointer_expression "*(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1)" * (cast_expression "(anon_union_4_4_139239c7_for_u2_ *)(paVar6 + -1)" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(paVar6 + -1)" ( (binary_expression "paVar6 + -1" identifier + number_literal) ))))) ;) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + -0xc);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + -0xc)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -0xc)" * (cast_expression "(size_type *)((int)paVar6 + -0xc)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -0xc)" ( (binary_expression "(int)paVar6 + -0xc" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                  *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity;" (assignment_expression "(pIVar16->input_section_).shndx_ = paVar6[-2]._M_allocated_capacity" (field_expression "(pIVar16->input_section_).shndx_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = (field_expression "paVar6[-2]._M_allocated_capacity" (subscript_expression "paVar6[-2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).p2align_ = sVar13;" (assignment_expression "(pIVar16->input_section_).p2align_ = sVar13" (field_expression "(pIVar16->input_section_).p2align_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(size_type *)&(pIVar16->input_section_).u1_ = sVar11;" (assignment_expression "*(size_type *)&(pIVar16->input_section_).u1_ = sVar11" (pointer_expression "*(size_type *)&(pIVar16->input_section_).u1_" * (cast_expression "(size_type *)&(pIVar16->input_section_).u1_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar16->input_section_).u1_" & (field_expression "(pIVar16->input_section_).u1_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "*(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9;" (assignment_expression "*(size_type *)((int)&(pIVar16->input_section_).u1_ + 4) = sVar9" (pointer_expression "*(size_type *)((int)&(pIVar16->input_section_).u1_ + 4)" * (cast_expression "(size_type *)((int)&(pIVar16->input_section_).u1_ + 4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pIVar16->input_section_).u1_ + 4)" ( (binary_expression "(int)&(pIVar16->input_section_).u1_ + 4" (cast_expression "(int)&(pIVar16->input_section_).u1_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pIVar16->input_section_).u1_" & (field_expression "(pIVar16->input_section_).u1_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(pIVar16->input_section_).u2_ = aVar7;" (assignment_expression "(pIVar16->input_section_).u2_ = aVar7" (field_expression "(pIVar16->input_section_).u2_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(pIVar16->input_section_).section_order_index_ = sVar3;" (assignment_expression "(pIVar16->input_section_).section_order_index_ = sVar3" (field_expression "(pIVar16->input_section_).section_order_index_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p;" (assignment_expression "psVar18 = (size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" identifier = (cast_expression "(size_type *)(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" (parenthesized_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)" ( (field_expression "((string *)((int)paVar6 + -8))->_M_dataplus" (parenthesized_expression "((string *)((int)paVar6 + -8))" ( (cast_expression "(string *)((int)paVar6 + -8)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -8)" ( (binary_expression "(int)paVar6 + -8" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier) )) . field_identifier))) ;) (if_statement "if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18) {\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }\n        else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }" if (parenthesized_expression "(paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18)" ( (binary_expression "paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18)" identifier == (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)psVar18)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                       *)psVar18" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                       *)psVar18" identifier * (ERROR ")" )) identifier)) ))) )) (compound_statement "{\n          sVar3 = *(size_type *)((int)paVar6 + -4);\n          if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }\n          (pIVar16->section_name_)._M_string_length = sVar3;\n          paVar4->_M_local_buf[sVar3] = '\0';\n          paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];\n        }" { (expression_statement "sVar3 = *(size_type *)((int)paVar6 + -4);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + -4)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (sVar3 != 0) {\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }" if (parenthesized_expression "(sVar3 != 0)" ( (binary_expression "sVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n          }" { (if_statement "if (sVar3 == 1) {\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" if (parenthesized_expression "(sVar3 == 1)" ( (binary_expression "sVar3 == 1" identifier == number_literal) )) (compound_statement "{\n              paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" { (expression_statement "paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0];" (assignment_expression "paVar4->_M_local_buf[0] = paVar6->_M_local_buf[0]" (subscript_expression "paVar4->_M_local_buf[0]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "paVar6->_M_local_buf[0]" (field_expression "paVar6->_M_local_buf" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + -4);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + -4)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" else (compound_statement "{\n              (*(code *)PTR_memcpy_00436788)(paVar4,paVar6);\n              sVar3 = *(size_type *)((int)paVar6 + -4);\n              paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;\n            }" { (expression_statement "(*(code *)PTR_memcpy_00436788)(paVar4,paVar6);" (call_expression "(*(code *)PTR_memcpy_00436788)(paVar4,paVar6)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(paVar4,paVar6)" ( identifier , identifier ))) ;) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + -4);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + -4)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)(pIVar16->section_name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                        *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) }))) })) (expression_statement "(pIVar16->section_name_)._M_string_length = sVar3;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar3" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "paVar4->_M_local_buf[sVar3] = '\0';" (assignment_expression "paVar4->_M_local_buf[sVar3] = '\0'" (subscript_expression "paVar4->_M_local_buf[sVar3]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2];" (assignment_expression "paVar4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2]" identifier = (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                    *)psVar18[-2]" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                    *)psVar18[-2]" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                    *)psVar18[-2]" identifier * (ERROR ")" )) (subscript_expression "psVar18[-2]" identifier [ number_literal ]))) ))) ;) }) (else_clause "else {\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }" else (compound_statement "{\n          (pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;\n          if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }\n          (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;\n          paVar4 = paVar6;\n        }" { (expression_statement "(pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18;" (assignment_expression "(pIVar16->section_name_)._M_dataplus._M_p = (pointer)psVar18" (field_expression "(pIVar16->section_name_)._M_dataplus._M_p" (field_expression "(pIVar16->section_name_)._M_dataplus" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)psVar18" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (paVar4 == &(pIVar16->section_name_).field_2) {\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }\n          else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }" if (parenthesized_expression "(paVar4 == &(pIVar16->section_name_).field_2)" ( (binary_expression "paVar4 == &(pIVar16->section_name_).field_2" identifier == (pointer_expression "&(pIVar16->section_name_).field_2" & (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier))) )) (compound_statement "{\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n          }" { (expression_statement "(pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);" (assignment_expression "(pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4)" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "paVar6->_M_allocated_capacity" identifier -> field_identifier)) ;) }) (else_clause "else {\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }" else (compound_statement "{\n            sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n            (pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);\n            (pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;\n            if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }\n          }" { (expression_statement "sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity;" (assignment_expression "sVar3 = (pIVar16->section_name_).field_2._M_allocated_capacity" identifier = (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4);" (assignment_expression "(pIVar16->section_name_)._M_string_length = *(size_type *)((int)paVar6 + -4)" (field_expression "(pIVar16->section_name_)._M_string_length" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity = paVar6->_M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar16->section_name_).field_2" (parenthesized_expression "(pIVar16->section_name_)" ( (field_expression "pIVar16->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "paVar6->_M_allocated_capacity" identifier -> field_identifier)) ;) (if_statement "if (paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0) {\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }" if (parenthesized_expression "(paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0)" ( (binary_expression "paVar4 != (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0)" identifier != (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                           *)0x0)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                           *)0x0" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                           *)0x0" identifier * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n              (((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;\n              paVar6->_M_allocated_capacity = sVar3;\n              goto LAB_00219384;\n            }" { (expression_statement "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4;" (assignment_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar4" (field_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" (parenthesized_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)" ( (field_expression "((string *)((int)paVar6 + -8))->_M_dataplus" (parenthesized_expression "((string *)((int)paVar6 + -8))" ( (cast_expression "(string *)((int)paVar6 + -8)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -8)" ( (binary_expression "(int)paVar6 + -8" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier) )) . field_identifier) = (cast_expression "(pointer)paVar4" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "paVar6->_M_allocated_capacity = sVar3;" (assignment_expression "paVar6->_M_allocated_capacity = sVar3" (field_expression "paVar6->_M_allocated_capacity" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_00219384;" goto statement_identifier ;) })) }))) (expression_statement "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6;" (assignment_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p = (pointer)paVar6" (field_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)._M_p" (parenthesized_expression "(((string *)((int)paVar6 + -8))->_M_dataplus)" ( (field_expression "((string *)((int)paVar6 + -8))->_M_dataplus" (parenthesized_expression "((string *)((int)paVar6 + -8))" ( (cast_expression "(string *)((int)paVar6 + -8)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -8)" ( (binary_expression "(int)paVar6 + -8" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier) )) . field_identifier) = (cast_expression "(pointer)paVar6" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "paVar4 = paVar6;" (assignment_expression "paVar4 = paVar6" identifier = identifier) ;) }))) (labeled_statement "LAB_00219384:\n        *(size_type *)((int)paVar6 + -4) = 0;" statement_identifier : (expression_statement "*(size_type *)((int)paVar6 + -4) = 0;" (assignment_expression "*(size_type *)((int)paVar6 + -4) = 0" (pointer_expression "*(size_type *)((int)paVar6 + -4)" * (cast_expression "(size_type *)((int)paVar6 + -4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + -4)" ( (binary_expression "(int)paVar6 + -4" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "__result = pIVar16 + 1;" (assignment_expression "__result = pIVar16 + 1" identifier = (binary_expression "pIVar16 + 1" identifier + number_literal)) ;) (expression_statement "paVar4->_M_local_buf[0] = '\0';" (assignment_expression "paVar4->_M_local_buf[0] = '\0'" (subscript_expression "paVar4->_M_local_buf[0]" (field_expression "paVar4->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "sVar3 = paVar6[1]._M_allocated_capacity;" (assignment_expression "sVar3 = paVar6[1]._M_allocated_capacity" identifier = (field_expression "paVar6[1]._M_allocated_capacity" (subscript_expression "paVar6[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14);" (assignment_expression "*(size_type *)((int)&pIVar16->size_ + 4) = *(size_type *)((int)paVar6 + 0x14)" (pointer_expression "*(size_type *)((int)&pIVar16->size_ + 4)" * (cast_expression "(size_type *)((int)&pIVar16->size_ + 4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->size_ + 4)" ( (binary_expression "(int)&pIVar16->size_ + 4" (cast_expression "(int)&pIVar16->size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(size_type *)((int)paVar6 + 0x14)" * (cast_expression "(size_type *)((int)paVar6 + 0x14)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + 0x14)" ( (binary_expression "(int)paVar6 + 0x14" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(size_type *)&pIVar16->size_ = sVar3;" (assignment_expression "*(size_type *)&pIVar16->size_ = sVar3" (pointer_expression "*(size_type *)&pIVar16->size_" * (cast_expression "(size_type *)&pIVar16->size_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->size_" & (field_expression "pIVar16->size_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "sVar3 = *(size_type *)((int)paVar6 + 0x18);" (assignment_expression "sVar3 = *(size_type *)((int)paVar6 + 0x18)" identifier = (pointer_expression "*(size_type *)((int)paVar6 + 0x18)" * (cast_expression "(size_type *)((int)paVar6 + 0x18)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + 0x18)" ( (binary_expression "(int)paVar6 + 0x18" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c);" (assignment_expression "*(size_type *)((int)&pIVar16->addralign_ + 4) = *(size_type *)((int)paVar6 + 0x1c)" (pointer_expression "*(size_type *)((int)&pIVar16->addralign_ + 4)" * (cast_expression "(size_type *)((int)&pIVar16->addralign_ + 4)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar16->addralign_ + 4)" ( (binary_expression "(int)&pIVar16->addralign_ + 4" (cast_expression "(int)&pIVar16->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(size_type *)((int)paVar6 + 0x1c)" * (cast_expression "(size_type *)((int)paVar6 + 0x1c)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 + 0x1c)" ( (binary_expression "(int)paVar6 + 0x1c" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(size_type *)&pIVar16->addralign_ = sVar3;" (assignment_expression "*(size_type *)&pIVar16->addralign_ = sVar3" (pointer_expression "*(size_type *)&pIVar16->addralign_" * (cast_expression "(size_type *)&pIVar16->addralign_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar16->addralign_" & (field_expression "pIVar16->addralign_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pIVar16 = __result;" (assignment_expression "pIVar16 = __result" identifier = identifier) ;) (expression_statement "paVar6 = paVar6 + 4;" (assignment_expression "paVar6 = paVar6 + 4" identifier = (binary_expression "paVar6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) ;) })) }))) (return_statement "return __result;" return identifier ;) }))
(translation_unit "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold::Input_section_sorter>>\n          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)\n\n{\n  int iVar1;\n  Input_section_info *pIVar2;\n  undefined4 uVar3;\n  Input_section_info *pIVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  Input_section_info *pIVar11;\n  Input_section_info *pIVar12;\n  Input_section_info *pIVar13;\n  \n  if (param_1 == param_2) {\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }\n  else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }\n  return param_5;\n}\n\n" (ERROR "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold::Input_section_sorter>>\n          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold::Input_section_sorter>>\n          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator" (binary_expression "Input_section_info *\nstd" identifier * identifier) (ERROR "::\n__move_merge" : : identifier) < identifier) < identifier) (ERROR "::Input_section_info" : : identifier) * (ERROR "," ,) identifier) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Input_section_info,std::allocator" : : identifier , identifier : : identifier) < identifier) (ERROR "::Input_section_info" : : identifier) >> (ERROR ">," > ,) identifier) (ERROR "::Input_section_info" : : identifier) * (ERROR "," ,) identifier) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Input_section_sorter" : : identifier) >> (parenthesized_expression "(Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)" ( (comma_expression "Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_1" identifier * identifier) , (comma_expression "Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_2" identifier * identifier) , (comma_expression "Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_3" identifier * identifier) , (comma_expression "Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_4" identifier * identifier) , (binary_expression "Input_section_info *param_5" identifier * identifier))))) )))) (compound_statement "{\n  int iVar1;\n  Input_section_info *pIVar2;\n  undefined4 uVar3;\n  Input_section_info *pIVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  Input_section_info *pIVar11;\n  Input_section_info *pIVar12;\n  Input_section_info *pIVar13;\n  \n  if (param_1 == param_2) {\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }\n  else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }\n  return param_5;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "Input_section_info *pIVar2;" type_identifier (pointer_declarator "*pIVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "Input_section_info *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "Input_section_info *pIVar11;" type_identifier (pointer_declarator "*pIVar11" * identifier) ;) (declaration "Input_section_info *pIVar12;" type_identifier (pointer_declarator "*pIVar12" * identifier) ;) (declaration "Input_section_info *pIVar13;" type_identifier (pointer_declarator "*pIVar13" * identifier) ;) (if_statement "if (param_1 == param_2) {\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }\n  else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (compound_statement "{\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }" { (labeled_statement "LAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;" statement_identifier : (expression_statement "iVar1 = (int)param_4 - (int)param_3 >> 6;" (assignment_expression "iVar1 = (int)param_4 - (int)param_3 >> 6" identifier = (binary_expression "(int)param_4 - (int)param_3 >> 6" (binary_expression "(int)param_4 - (int)param_3" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;)) (if_statement "if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }" if (parenthesized_expression "(0 < (int)param_4 - (int)param_3)" ( (binary_expression "0 < (int)param_4 - (int)param_3" number_literal < (binary_expression "(int)param_4 - (int)param_3" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }" { (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (expression_statement "pIVar2 = param_3 + 0x20;" (assignment_expression "pIVar2 = param_3 + 0x20" identifier = (binary_expression "param_3 + 0x20" identifier + number_literal)) ;) (do_statement "do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);" do (compound_statement "{\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      }" { (while_statement "while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }" { (expression_statement "uVar10 = *(undefined4 *)(pIVar2 + -0x1c);" (assignment_expression "uVar10 = *(undefined4 *)(pIVar2 + -0x1c)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x1c)" ( (binary_expression "pIVar2 + -0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(pIVar2 + -0x18);" (assignment_expression "uVar9 = *(undefined4 *)(pIVar2 + -0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x18)" * (cast_expression "(undefined4 *)(pIVar2 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x18)" ( (binary_expression "pIVar2 + -0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(pIVar2 + -0x14);" (assignment_expression "uVar7 = *(undefined4 *)(pIVar2 + -0x14)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x14)" * (cast_expression "(undefined4 *)(pIVar2 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x14)" ( (binary_expression "pIVar2 + -0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(pIVar2 + -0x10);" (assignment_expression "uVar6 = *(undefined4 *)(pIVar2 + -0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x10)" * (cast_expression "(undefined4 *)(pIVar2 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x10)" ( (binary_expression "pIVar2 + -0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + -0xc);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + -0xc)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0xc)" * (cast_expression "(undefined4 *)(pIVar2 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0xc)" ( (binary_expression "pIVar2 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20)" (pointer_expression "*(undefined4 *)pIVar12" * (cast_expression "(undefined4 *)pIVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)(pIVar2 + -0x20)" * (cast_expression "(undefined4 *)(pIVar2 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x20)" ( (binary_expression "pIVar2 + -0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" * (cast_expression "(undefined4 *)(pIVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 4)" ( (binary_expression "pIVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" * (cast_expression "(undefined4 *)(pIVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 8)" ( (binary_expression "pIVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" * (cast_expression "(undefined4 *)(pIVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0xc)" ( (binary_expression "pIVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" * (cast_expression "(undefined4 *)(pIVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x10)" ( (binary_expression "pIVar12 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" * (cast_expression "(undefined4 *)(pIVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x14)" ( (binary_expression "pIVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar13 = *(Input_section_info **)(pIVar2 + -8);" (assignment_expression "pIVar13 = *(Input_section_info **)(pIVar2 + -8)" identifier = (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) ))))) ;) (if_statement "if (pIVar2 != pIVar13) break;" if (parenthesized_expression "(pIVar2 != pIVar13)" ( (binary_expression "pIVar2 != pIVar13" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar8 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" { (if_statement "if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (expression_statement "*pIVar4 = *pIVar2;" (assignment_expression "*pIVar4 = *pIVar2" (pointer_expression "*pIVar4" * identifier) = (pointer_expression "*pIVar2" * identifier)) ;) (expression_statement "iVar8 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar8 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" else (compound_statement "{\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (expression_statement "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);" (call_expression "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar4,pIVar2)" ( identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar8 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) }))) })) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar8;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar8" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar11 = pIVar12 + 0x40;" (assignment_expression "pIVar11 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (expression_statement "pIVar4[iVar8] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar8] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar8]" identifier [ identifier ]) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) (expression_statement "puVar5 = *(undefined1 **)(pIVar13 + -8);" (assignment_expression "puVar5 = *(undefined1 **)(pIVar13 + -8)" identifier = (pointer_expression "*(undefined1 **)(pIVar13 + -8)" * (cast_expression "(undefined1 **)(pIVar13 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar13 + -8)" ( (binary_expression "pIVar13 + -8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar2 + -4) = 0;" (assignment_expression "*(undefined4 *)(pIVar2 + -4) = 0" (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x10);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x10)" * (cast_expression "(undefined4 *)(pIVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x10)" ( (binary_expression "pIVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x14)" * (cast_expression "(undefined4 *)(pIVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x14)" ( (binary_expression "pIVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x18);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x18)" * (cast_expression "(undefined4 *)(pIVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x18)" ( (binary_expression "pIVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x1c)" ( (binary_expression "pIVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar12 = pIVar11;" (assignment_expression "pIVar12 = pIVar11" identifier = identifier) ;) (expression_statement "pIVar2 = pIVar2 + 0x40;" (assignment_expression "pIVar2 = pIVar2 + 0x40" identifier = (binary_expression "pIVar2 + 0x40" identifier + number_literal)) ;) (if_statement "if (iVar1 == 0) {\n            return pIVar11;\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            return pIVar11;\n          }" { (return_statement "return pIVar11;" return identifier ;) })) })) (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13;" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }" if (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" ( (binary_expression "pIVar4 == pIVar12 + 0x20" identifier == (binary_expression "pIVar12 + 0x20" identifier + number_literal)) )) (compound_statement "{\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" { (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;" statement_identifier : (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar2;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar2" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "pIVar4 = pIVar2;" (assignment_expression "pIVar4 = pIVar2" identifier = identifier) ;) }) (else_clause "else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }" else (compound_statement "{\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }" { (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;" if (parenthesized_expression "(pIVar4 == (Input_section_info *)0x0)" ( (binary_expression "pIVar4 == (Input_section_info *)0x0" identifier == (cast_expression "(Input_section_info *)0x0" ( (type_descriptor "Input_section_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00219478;" goto statement_identifier ;)) (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar4;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar4" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)pIVar2 = uVar3;" (assignment_expression "*(undefined4 *)pIVar2 = uVar3" (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }))) (expression_statement "*(undefined4 *)(pIVar2 + -4) = 0;" (assignment_expression "*(undefined4 *)(pIVar2 + -4) = 0" (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (expression_statement "*pIVar4 = (Input_section_info)0x0;" (assignment_expression "*pIVar4 = (Input_section_info)0x0" (pointer_expression "*pIVar4" * identifier) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x10);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x10)" * (cast_expression "(undefined4 *)(pIVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x10)" ( (binary_expression "pIVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x14)" * (cast_expression "(undefined4 *)(pIVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x14)" ( (binary_expression "pIVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x18);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x18)" * (cast_expression "(undefined4 *)(pIVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x18)" ( (binary_expression "pIVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x1c)" ( (binary_expression "pIVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (expression_statement "pIVar2 = pIVar2 + 0x40;" (assignment_expression "pIVar2 = pIVar2 + 0x40" identifier = (binary_expression "pIVar2 + 0x40" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) })) }) (else_clause "else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }" else (compound_statement "{\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }" { (if_statement "if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }" if (parenthesized_expression "(param_3 == param_4)" ( (binary_expression "param_3 == param_4" identifier == identifier) )) (compound_statement "{\n      iVar1 = -(int)param_1;\n    }" { (expression_statement "iVar1 = -(int)param_1;" (assignment_expression "iVar1 = -(int)param_1" identifier = (unary_expression "-(int)param_1" - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }" else (compound_statement "{\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }" { (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (do_statement "do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);" do (compound_statement "{\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (labeled_statement "Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);" statement_identifier : (ERROR ":" :) (expression_statement "operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);" (call_expression "operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Input_section_sorter *)&stack0x00000014,param_3,param_1)" ( (cast_expression "(Input_section_sorter *)&stack0x00000014" ( (type_descriptor "Input_section_sorter *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0x00000014" & identifier)) , identifier , identifier ))) ;)) (if_statement "if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }" { (expression_statement "uVar6 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar6 = *(undefined4 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pIVar2 = param_1 + 0x20;" (assignment_expression "pIVar2 = param_1 + 0x20" identifier = (binary_expression "param_1 + 0x20" identifier + number_literal)) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 4);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar9 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)param_1;" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)param_1" (pointer_expression "*(undefined4 *)pIVar12" * (cast_expression "(undefined4 *)pIVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" * (cast_expression "(undefined4 *)(pIVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 4)" ( (binary_expression "pIVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" * (cast_expression "(undefined4 *)(pIVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 8)" ( (binary_expression "pIVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" * (cast_expression "(undefined4 *)(pIVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0xc)" ( (binary_expression "pIVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" * (cast_expression "(undefined4 *)(pIVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x10)" ( (binary_expression "pIVar12 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" * (cast_expression "(undefined4 *)(pIVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x14)" ( (binary_expression "pIVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }" if (parenthesized_expression "(*(Input_section_info **)(param_1 + 0x18) == pIVar2)" ( (binary_expression "*(Input_section_info **)(param_1 + 0x18) == pIVar2" (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }" { (expression_statement "iVar1 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (if_statement "if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }" { (expression_statement "*pIVar4 = param_1[0x20];" (assignment_expression "*pIVar4 = param_1[0x20]" (pointer_expression "*pIVar4" * identifier) = (subscript_expression "param_1[0x20]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" * (cast_expression "(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pIVar12 + 0x18) + iVar1)" ( (binary_expression "*(int *)(pIVar12 + 0x18) + iVar1" (pointer_expression "*(int *)(pIVar12 + 0x18)" * (cast_expression "(int *)(pIVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) + identifier) )))) = number_literal) ;) (expression_statement "pIVar2 = *(Input_section_info **)(param_1 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_1 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_002190b8;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_memcpy_00436788)();" (call_expression "(*(code *)PTR_memcpy_00436788)()" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) })) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar4[iVar1] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar1] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar1]" identifier [ identifier ]) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "pIVar2 = *(Input_section_info **)(param_1 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_1 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }" else (compound_statement "{\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }" { (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18)" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) = (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }" if (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" ( (binary_expression "pIVar4 == pIVar12 + 0x20" identifier == (binary_expression "pIVar12 + 0x20" identifier + number_literal)) )) (compound_statement "{\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }" { (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" * (cast_expression "(undefined4 *)(param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }" else (compound_statement "{\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }" { (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" * (cast_expression "(undefined4 *)(param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }" if (parenthesized_expression "(pIVar4 != (Input_section_info *)0x0)" ( (binary_expression "pIVar4 != (Input_section_info *)0x0" identifier != (cast_expression "(Input_section_info *)0x0" ( (type_descriptor "Input_section_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }" { (expression_statement "*(Input_section_info **)(param_1 + 0x18) = pIVar4;" (assignment_expression "*(Input_section_info **)(param_1 + 0x18) = pIVar4" (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x20) = uVar3;" (assignment_expression "*(undefined4 *)(param_1 + 0x20) = uVar3" (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar2 = pIVar4;" (assignment_expression "pIVar2 = pIVar4" identifier = identifier) ;) (goto_statement "goto LAB_002190b8;" goto statement_identifier ;) })) }))) (expression_statement "*(Input_section_info **)(param_1 + 0x18) = pIVar2;" (assignment_expression "*(Input_section_info **)(param_1 + 0x18) = pIVar2" (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" * (cast_expression "(Input_section_info **)(param_1 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (labeled_statement "LAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" * (cast_expression "(undefined4 *)(param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*pIVar2 = (Input_section_info)0x0;" (assignment_expression "*pIVar2 = (Input_section_info)0x0" (pointer_expression "*pIVar2" * identifier) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x30);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_1 = param_1 + 0x40;" (assignment_expression "param_1 = param_1 + 0x40" identifier = (binary_expression "param_1 + 0x40" identifier + number_literal)) ;) }) (else_clause "else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }" else (compound_statement "{\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }" { (expression_statement "uVar6 = *(undefined4 *)(param_3 + 0x10);" (assignment_expression "uVar6 = *(undefined4 *)(param_3 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x10)" * (cast_expression "(undefined4 *)(param_3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x10)" ( (binary_expression "param_3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pIVar2 = param_3 + 0x20;" (assignment_expression "pIVar2 = param_3 + 0x20" identifier = (binary_expression "param_3 + 0x20" identifier + number_literal)) ;) (expression_statement "uVar10 = *(undefined4 *)(param_3 + 4);" (assignment_expression "uVar10 = *(undefined4 *)(param_3 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 4)" * (cast_expression "(undefined4 *)(param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(param_3 + 8);" (assignment_expression "uVar9 = *(undefined4 *)(param_3 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 8)" * (cast_expression "(undefined4 *)(param_3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0xc)" * (cast_expression "(undefined4 *)(param_3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0x14);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x14)" * (cast_expression "(undefined4 *)(param_3 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)param_3;" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)param_3" (pointer_expression "*(undefined4 *)pIVar12" * (cast_expression "(undefined4 *)pIVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" * (cast_expression "(undefined4 *)(pIVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 4)" ( (binary_expression "pIVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" * (cast_expression "(undefined4 *)(pIVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 8)" ( (binary_expression "pIVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" * (cast_expression "(undefined4 *)(pIVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0xc)" ( (binary_expression "pIVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" * (cast_expression "(undefined4 *)(pIVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x10)" ( (binary_expression "pIVar12 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" * (cast_expression "(undefined4 *)(pIVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x14)" ( (binary_expression "pIVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }" if (parenthesized_expression "(*(Input_section_info **)(param_3 + 0x18) == pIVar2)" ( (binary_expression "*(Input_section_info **)(param_3 + 0x18) == pIVar2" (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }" { (expression_statement "iVar1 = *(int *)(param_3 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_3 + 0x1c)" identifier = (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (if_statement "if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }" { (expression_statement "*pIVar4 = param_3[0x20];" (assignment_expression "*pIVar4 = param_3[0x20]" (pointer_expression "*pIVar4" * identifier) = (subscript_expression "param_3[0x20]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = *(int *)(param_3 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_3 + 0x1c)" identifier = (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" * (cast_expression "(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pIVar12 + 0x18) + iVar1)" ( (binary_expression "*(int *)(pIVar12 + 0x18) + iVar1" (pointer_expression "*(int *)(pIVar12 + 0x18)" * (cast_expression "(int *)(pIVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) + identifier) )))) = number_literal) ;) (expression_statement "pIVar2 = *(Input_section_info **)(param_3 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_3 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00218ff4;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_memcpy_00436788)();" (call_expression "(*(code *)PTR_memcpy_00436788)()" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = *(int *)(param_3 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_3 + 0x1c)" identifier = (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) })) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar4[iVar1] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar1] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar1]" identifier [ identifier ]) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "pIVar2 = *(Input_section_info **)(param_3 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_3 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }" else (compound_statement "{\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }" { (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18)" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) = (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }" if (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" ( (binary_expression "pIVar4 == pIVar12 + 0x20" identifier == (binary_expression "pIVar12 + 0x20" identifier + number_literal)) )) (compound_statement "{\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }" { (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" * (cast_expression "(undefined4 *)(param_3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x20)" * (cast_expression "(undefined4 *)(param_3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }" else (compound_statement "{\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }" { (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" * (cast_expression "(undefined4 *)(param_3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x20)" * (cast_expression "(undefined4 *)(param_3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }" if (parenthesized_expression "(pIVar4 != (Input_section_info *)0x0)" ( (binary_expression "pIVar4 != (Input_section_info *)0x0" identifier != (cast_expression "(Input_section_info *)0x0" ( (type_descriptor "Input_section_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }" { (expression_statement "*(Input_section_info **)(param_3 + 0x18) = pIVar4;" (assignment_expression "*(Input_section_info **)(param_3 + 0x18) = pIVar4" (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_3 + 0x20) = uVar3;" (assignment_expression "*(undefined4 *)(param_3 + 0x20) = uVar3" (pointer_expression "*(undefined4 *)(param_3 + 0x20)" * (cast_expression "(undefined4 *)(param_3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar2 = pIVar4;" (assignment_expression "pIVar2 = pIVar4" identifier = identifier) ;) (goto_statement "goto LAB_00218ff4;" goto statement_identifier ;) })) }))) (expression_statement "*(Input_section_info **)(param_3 + 0x18) = pIVar2;" (assignment_expression "*(Input_section_info **)(param_3 + 0x18) = pIVar2" (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" * (cast_expression "(Input_section_info **)(param_3 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (labeled_statement "LAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" * (cast_expression "(undefined4 *)(param_3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*pIVar2 = (Input_section_info)0x0;" (assignment_expression "*pIVar2 = (Input_section_info)0x0" (pointer_expression "*pIVar2" * identifier) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0x30);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x30)" * (cast_expression "(undefined4 *)(param_3 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x30)" ( (binary_expression "param_3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x34)" * (cast_expression "(undefined4 *)(param_3 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x34)" ( (binary_expression "param_3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0x38);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x38)" * (cast_expression "(undefined4 *)(param_3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x38)" ( (binary_expression "param_3 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_3 + 0x3c)" * (cast_expression "(undefined4 *)(param_3 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3c)" ( (binary_expression "param_3 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_3 = param_3 + 0x40;" (assignment_expression "param_3 = param_3 + 0x40" identifier = (binary_expression "param_3 + 0x40" identifier + number_literal)) ;) }))) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (if_statement "if (param_1 == param_2) goto LAB_002190ec;" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (goto_statement "goto LAB_002190ec;" goto statement_identifier ;)) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (expression_statement "iVar1 = -(int)param_1;" (assignment_expression "iVar1 = -(int)param_1" identifier = (unary_expression "-(int)param_1" - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) }) while (parenthesized_expression "(param_3 != param_4)" ( (binary_expression "param_3 != param_4" identifier != identifier) )) ;) }))) (expression_statement "iVar8 = (int)(param_2 + iVar1) >> 6;" (assignment_expression "iVar8 = (int)(param_2 + iVar1) >> 6" identifier = (binary_expression "(int)(param_2 + iVar1) >> 6" (cast_expression "(int)(param_2 + iVar1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) ))) >> number_literal)) ;) (if_statement "if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }" if (parenthesized_expression "(0 < (int)(param_2 + iVar1))" ( (binary_expression "0 < (int)(param_2 + iVar1)" number_literal < (cast_expression "(int)(param_2 + iVar1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) )))) )) (compound_statement "{\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }" { (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (expression_statement "pIVar2 = param_1 + 0x20;" (assignment_expression "pIVar2 = param_1 + 0x20" identifier = (binary_expression "param_1 + 0x20" identifier + number_literal)) ;) (do_statement "do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);" do (compound_statement "{\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      }" { (expression_statement "uVar10 = *(undefined4 *)(pIVar2 + -0x1c);" (assignment_expression "uVar10 = *(undefined4 *)(pIVar2 + -0x1c)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x1c)" ( (binary_expression "pIVar2 + -0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(pIVar2 + -0x18);" (assignment_expression "uVar9 = *(undefined4 *)(pIVar2 + -0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x18)" * (cast_expression "(undefined4 *)(pIVar2 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x18)" ( (binary_expression "pIVar2 + -0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(pIVar2 + -0x14);" (assignment_expression "uVar7 = *(undefined4 *)(pIVar2 + -0x14)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x14)" * (cast_expression "(undefined4 *)(pIVar2 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x14)" ( (binary_expression "pIVar2 + -0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(pIVar2 + -0x10);" (assignment_expression "uVar6 = *(undefined4 *)(pIVar2 + -0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0x10)" * (cast_expression "(undefined4 *)(pIVar2 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x10)" ( (binary_expression "pIVar2 + -0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + -0xc);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + -0xc)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + -0xc)" * (cast_expression "(undefined4 *)(pIVar2 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0xc)" ( (binary_expression "pIVar2 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20)" (pointer_expression "*(undefined4 *)pIVar12" * (cast_expression "(undefined4 *)pIVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)(pIVar2 + -0x20)" * (cast_expression "(undefined4 *)(pIVar2 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -0x20)" ( (binary_expression "pIVar2 + -0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" * (cast_expression "(undefined4 *)(pIVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 4)" ( (binary_expression "pIVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" * (cast_expression "(undefined4 *)(pIVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 8)" ( (binary_expression "pIVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" * (cast_expression "(undefined4 *)(pIVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0xc)" ( (binary_expression "pIVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" * (cast_expression "(undefined4 *)(pIVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x10)" ( (binary_expression "pIVar12 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" * (cast_expression "(undefined4 *)(pIVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x14)" ( (binary_expression "pIVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar13 = *(Input_section_info **)(pIVar2 + -8);" (assignment_expression "pIVar13 = *(Input_section_info **)(pIVar2 + -8)" identifier = (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) ))))) ;) (if_statement "if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" if (parenthesized_expression "(pIVar2 == pIVar13)" ( (binary_expression "pIVar2 == pIVar13" identifier == identifier) )) (compound_statement "{\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }" { (expression_statement "iVar1 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar1 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" { (if_statement "if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (expression_statement "*pIVar4 = *pIVar2;" (assignment_expression "*pIVar4 = *pIVar2" (pointer_expression "*pIVar4" * identifier) = (pointer_expression "*pIVar2" * identifier)) ;) (expression_statement "iVar1 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar1 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" else (compound_statement "{\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" { (expression_statement "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);" (call_expression "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar4,pIVar2)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar1 = *(int *)(pIVar2 + -4)" identifier = (pointer_expression "*(int *)(pIVar2 + -4)" * (cast_expression "(int *)(pIVar2 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" identifier = (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) ))))) ;) }))) })) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" * (cast_expression "(int *)(pIVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar4[iVar1] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar1] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar1]" identifier [ identifier ]) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar13 + -8);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar13 + -8)" identifier = (pointer_expression "*(Input_section_info **)(pIVar13 + -8)" * (cast_expression "(Input_section_info **)(pIVar13 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar13 + -8)" ( (binary_expression "pIVar13 + -8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" else (compound_statement "{\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" { (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13;" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" * (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar12 + 0x18)" ( (binary_expression "pIVar12 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }" if (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" ( (binary_expression "pIVar4 == pIVar12 + 0x20" identifier == (binary_expression "pIVar12 + 0x20" identifier + number_literal)) )) (compound_statement "{\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }" { (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }" else (compound_statement "{\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }" { (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x1c)" ( (binary_expression "pIVar12 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" * (cast_expression "(undefined4 *)(pIVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x20)" ( (binary_expression "pIVar12 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }" if (parenthesized_expression "(pIVar4 != (Input_section_info *)0x0)" ( (binary_expression "pIVar4 != (Input_section_info *)0x0" identifier != (cast_expression "(Input_section_info *)0x0" ( (type_descriptor "Input_section_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }" { (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar4;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar4" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)pIVar2 = uVar3;" (assignment_expression "*(undefined4 *)pIVar2 = uVar3" (pointer_expression "*(undefined4 *)pIVar2" * (cast_expression "(undefined4 *)pIVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (goto_statement "goto LAB_00219384;" goto statement_identifier ;) })) }))) (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar2;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar2" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" * (cast_expression "(Input_section_info **)(pIVar2 + -8)" ( (type_descriptor "Input_section_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pIVar2 + -8)" ( (binary_expression "pIVar2 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar4 = pIVar2;" (assignment_expression "pIVar4 = pIVar2" identifier = identifier) ;) }))) (labeled_statement "LAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(pIVar2 + -4) = 0;" (assignment_expression "*(undefined4 *)(pIVar2 + -4) = 0" (pointer_expression "*(undefined4 *)(pIVar2 + -4)" * (cast_expression "(undefined4 *)(pIVar2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + -4)" ( (binary_expression "pIVar2 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" identifier = (binary_expression "pIVar12 + 0x40" identifier + number_literal)) ;) (expression_statement "*pIVar4 = (Input_section_info)0x0;" (assignment_expression "*pIVar4 = (Input_section_info)0x0" (pointer_expression "*pIVar4" * identifier) = (cast_expression "(Input_section_info)0x0" ( (type_descriptor "Input_section_info" type_identifier) ) number_literal)) ;) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x10);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x10)" * (cast_expression "(undefined4 *)(pIVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x10)" ( (binary_expression "pIVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" * (cast_expression "(undefined4 *)(pIVar12 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x34)" ( (binary_expression "pIVar12 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x14)" * (cast_expression "(undefined4 *)(pIVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x14)" ( (binary_expression "pIVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" * (cast_expression "(undefined4 *)(pIVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x30)" ( (binary_expression "pIVar12 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x18);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(pIVar2 + 0x18)" * (cast_expression "(undefined4 *)(pIVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x18)" ( (binary_expression "pIVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" * (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x3c)" ( (binary_expression "pIVar12 + 0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pIVar2 + 0x1c)" * (cast_expression "(undefined4 *)(pIVar2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar2 + 0x1c)" ( (binary_expression "pIVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" * (cast_expression "(undefined4 *)(pIVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar12 + 0x38)" ( (binary_expression "pIVar12 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" identifier = identifier) ;) (expression_statement "pIVar2 = pIVar2 + 0x40;" (assignment_expression "pIVar2 = pIVar2 + 0x40" identifier = (binary_expression "pIVar2 + 0x40" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) })) }))) (return_statement "return param_5;" return identifier ;) }))
(translation_unit (ERROR (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) (ERROR : : IDENT) < IDENT) < IDENT) (ERROR : : IDENT) * (ERROR ,) IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT , IDENT : : IDENT) < IDENT) (ERROR : : IDENT) >> (ERROR > ,) IDENT) (ERROR : : IDENT) * (ERROR ,) IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) >> (parenthesized_expression ( (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (binary_expression IDENT * IDENT))))) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (ERROR (assignment_expression IDENT = IDENT) : :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression (call_expression IDENT (argument_list ( ))) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT , 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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (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 { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (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 { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) }))) (return_statement return IDENT ;) }))
(ERROR "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold::Input_section_sorter>>\n          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold::Input_section_sorter>>\n          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops::_Iter_comp_iter<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold::Input_section_info*,__ops" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold::Input_section_info>>>,gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold::Input_section_info,std::allocator<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std::vector<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold::Input_section_info*,std" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator<gold" (binary_expression "Input_section_info *\nstd::\n__move_merge<__normal_iterator" (binary_expression "Input_section_info *\nstd" (identifier "Input_section_info") (* "*") (identifier "std")) (ERROR "::\n__move_merge" (: ":") (: ":") (identifier "__move_merge")) (< "<") (identifier "__normal_iterator")) (< "<") (identifier "gold")) (ERROR "::Input_section_info" (: ":") (: ":") (identifier "Input_section_info")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::vector" (: ":") (: ":") (identifier "vector")) (< "<") (identifier "gold")) (ERROR "::Input_section_info,std::allocator" (: ":") (: ":") (identifier "Input_section_info") (, ",") (identifier "std") (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Input_section_info" (: ":") (: ":") (identifier "Input_section_info")) (>> ">>") (ERROR ">," (> ">") (, ",")) (identifier "gold")) (ERROR "::Input_section_info" (: ":") (: ":") (identifier "Input_section_info")) (* "*") (ERROR "," (, ",")) (identifier "__ops")) (ERROR "::_Iter_comp_iter" (: ":") (: ":") (identifier "_Iter_comp_iter")) (< "<") (identifier "gold")) (ERROR "::Input_section_sorter" (: ":") (: ":") (identifier "Input_section_sorter")) (>> ">>") (parenthesized_expression "(Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5)" (( "(") (comma_expression "Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_1" (identifier "Input_section_info") (* "*") (identifier "param_1")) (, ",") (comma_expression "Input_section_info *param_2,Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_2" (identifier "Input_section_info") (* "*") (identifier "param_2")) (, ",") (comma_expression "Input_section_info *param_3,\n          Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_3" (identifier "Input_section_info") (* "*") (identifier "param_3")) (, ",") (comma_expression "Input_section_info *param_4,Input_section_info *param_5" (binary_expression "Input_section_info *param_4" (identifier "Input_section_info") (* "*") (identifier "param_4")) (, ",") (binary_expression "Input_section_info *param_5" (identifier "Input_section_info") (* "*") (identifier "param_5")))))) () ")")))) (compound_statement "{\n  int iVar1;\n  Input_section_info *pIVar2;\n  undefined4 uVar3;\n  Input_section_info *pIVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  Input_section_info *pIVar11;\n  Input_section_info *pIVar12;\n  Input_section_info *pIVar13;\n  \n  if (param_1 == param_2) {\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }\n  else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }\n  return param_5;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "Input_section_info *pIVar2;" (type_identifier "Input_section_info") (pointer_declarator "*pIVar2" (* "*") (identifier "pIVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "Input_section_info *pIVar4;" (type_identifier "Input_section_info") (pointer_declarator "*pIVar4" (* "*") (identifier "pIVar4")) (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "Input_section_info *pIVar11;" (type_identifier "Input_section_info") (pointer_declarator "*pIVar11" (* "*") (identifier "pIVar11")) (; ";")) (declaration "Input_section_info *pIVar12;" (type_identifier "Input_section_info") (pointer_declarator "*pIVar12" (* "*") (identifier "pIVar12")) (; ";")) (declaration "Input_section_info *pIVar13;" (type_identifier "Input_section_info") (pointer_declarator "*pIVar13" (* "*") (identifier "pIVar13")) (; ";")) (if_statement "if (param_1 == param_2) {\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }\n  else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == param_2)" (( "(") (binary_expression "param_1 == param_2" (identifier "param_1") (== "==") (identifier "param_2")) () ")")) (compound_statement "{\nLAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;\n    if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }\n  }" ({ "{") (labeled_statement "LAB_002190ec:\n    iVar1 = (int)param_4 - (int)param_3 >> 6;" (statement_identifier "LAB_002190ec") (: ":") (expression_statement "iVar1 = (int)param_4 - (int)param_3 >> 6;" (assignment_expression "iVar1 = (int)param_4 - (int)param_3 >> 6" (identifier "iVar1") (= "=") (binary_expression "(int)param_4 - (int)param_3 >> 6" (binary_expression "(int)param_4 - (int)param_3" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (- "-") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))) (>> ">>") (number_literal "6"))) (; ";"))) (if_statement "if (0 < (int)param_4 - (int)param_3) {\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }" (if "if") (parenthesized_expression "(0 < (int)param_4 - (int)param_3)" (( "(") (binary_expression "0 < (int)param_4 - (int)param_3" (number_literal "0") (< "<") (binary_expression "(int)param_4 - (int)param_3" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (- "-") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")))) () ")")) (compound_statement "{\n      pIVar12 = param_5;\n      pIVar2 = param_3 + 0x20;\n      do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);\n    }" ({ "{") (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" (identifier "pIVar12") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pIVar2 = param_3 + 0x20;" (assignment_expression "pIVar2 = param_3 + 0x20" (identifier "pIVar2") (= "=") (binary_expression "param_3 + 0x20" (identifier "param_3") (+ "+") (number_literal "0x20"))) (; ";")) (do_statement "do {\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar1 != 0);" (do "do") (compound_statement "{\n        while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }\n        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n        if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar1 = iVar1 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      }" ({ "{") (while_statement "while( true ) {\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n          uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n          uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n          uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n          uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n          if (pIVar2 != pIVar13) break;\n          iVar8 = *(int *)(pIVar2 + -4);\n          if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar8;\n          pIVar11 = pIVar12 + 0x40;\n          pIVar4[iVar8] = (Input_section_info)0x0;\n          iVar1 = iVar1 + -1;\n          puVar5 = *(undefined1 **)(pIVar13 + -8);\n          *(undefined4 *)(pIVar2 + -4) = 0;\n          *puVar5 = 0;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          pIVar12 = pIVar11;\n          pIVar2 = pIVar2 + 0x40;\n          if (iVar1 == 0) {\n            return pIVar11;\n          }\n        }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)(pIVar2 + -0x1c);" (assignment_expression "uVar10 = *(undefined4 *)(pIVar2 + -0x1c)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x1c)" (( "(") (binary_expression "pIVar2 + -0x1c" (identifier "pIVar2") (+ "+") (number_literal "-0x1c")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(pIVar2 + -0x18);" (assignment_expression "uVar9 = *(undefined4 *)(pIVar2 + -0x18)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x18)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x18)" (( "(") (binary_expression "pIVar2 + -0x18" (identifier "pIVar2") (+ "+") (number_literal "-0x18")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(pIVar2 + -0x14);" (assignment_expression "uVar7 = *(undefined4 *)(pIVar2 + -0x14)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x14)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x14)" (( "(") (binary_expression "pIVar2 + -0x14" (identifier "pIVar2") (+ "+") (number_literal "-0x14")) () ")"))))) (; ";")) (expression_statement "uVar6 = *(undefined4 *)(pIVar2 + -0x10);" (assignment_expression "uVar6 = *(undefined4 *)(pIVar2 + -0x10)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x10)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x10)" (( "(") (binary_expression "pIVar2 + -0x10" (identifier "pIVar2") (+ "+") (number_literal "-0x10")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + -0xc);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + -0xc)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0xc)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0xc)" (( "(") (binary_expression "pIVar2 + -0xc" (identifier "pIVar2") (+ "+") (number_literal "-0xc")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20)" (pointer_expression "*(undefined4 *)pIVar12" (* "*") (cast_expression "(undefined4 *)pIVar12" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar12"))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x20)" (( "(") (binary_expression "pIVar2 + -0x20" (identifier "pIVar2") (+ "+") (number_literal "-0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 4)" (( "(") (binary_expression "pIVar12 + 4" (identifier "pIVar12") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 8)" (( "(") (binary_expression "pIVar12 + 8" (identifier "pIVar12") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0xc)" (( "(") (binary_expression "pIVar12 + 0xc" (identifier "pIVar12") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x10)" (( "(") (binary_expression "pIVar12 + 0x10" (identifier "pIVar12") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x14)" (( "(") (binary_expression "pIVar12 + 0x14" (identifier "pIVar12") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "pIVar13 = *(Input_section_info **)(pIVar2 + -8);" (assignment_expression "pIVar13 = *(Input_section_info **)(pIVar2 + -8)" (identifier "pIVar13") (= "=") (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" (* "*") (cast_expression "(Input_section_info **)(pIVar2 + -8)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar2 + -8)" (( "(") (binary_expression "pIVar2 + -8" (identifier "pIVar2") (+ "+") (number_literal "-8")) () ")"))))) (; ";")) (if_statement "if (pIVar2 != pIVar13) break;" (if "if") (parenthesized_expression "(pIVar2 != pIVar13)" (( "(") (binary_expression "pIVar2 != pIVar13" (identifier "pIVar2") (!= "!=") (identifier "pIVar13")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar8 = *(int *)(pIVar2 + -4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pIVar2 + -4)" (* "*") (cast_expression "(int *)(pIVar2 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (if_statement "if (iVar8 != 0) {\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" ({ "{") (if_statement "if (iVar8 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" (if "if") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              *pIVar4 = *pIVar2;\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" ({ "{") (expression_statement "*pIVar4 = *pIVar2;" (assignment_expression "*pIVar4 = *pIVar2" (pointer_expression "*pIVar4" (* "*") (identifier "pIVar4")) (= "=") (pointer_expression "*pIVar2" (* "*") (identifier "pIVar2"))) (; ";")) (expression_statement "iVar8 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar8 = *(int *)(pIVar2 + -4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pIVar2 + -4)" (* "*") (cast_expression "(int *)(pIVar2 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" (else "else") (compound_statement "{\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar8 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" ({ "{") (expression_statement "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);" (call_expression "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00436788" (* "*") (cast_expression "(code *)PTR_memcpy_00436788" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00436788"))) () ")")) (argument_list "(pIVar4,pIVar2)" (( "(") (identifier "pIVar4") (, ",") (identifier "pIVar2") () ")"))) (; ";")) (expression_statement "iVar8 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar8 = *(int *)(pIVar2 + -4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pIVar2 + -4)" (* "*") (cast_expression "(int *)(pIVar2 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar8;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar8" (pointer_expression "*(int *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(int *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "pIVar11 = pIVar12 + 0x40;" (assignment_expression "pIVar11 = pIVar12 + 0x40" (identifier "pIVar11") (= "=") (binary_expression "pIVar12 + 0x40" (identifier "pIVar12") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "pIVar4[iVar8] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar8] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar8]" (identifier "pIVar4") ([ "[") (identifier "iVar8") (] "]")) (= "=") (cast_expression "(Input_section_info)0x0" (( "(") (type_descriptor "Input_section_info" (type_identifier "Input_section_info")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + -1" (identifier "iVar1") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "puVar5 = *(undefined1 **)(pIVar13 + -8);" (assignment_expression "puVar5 = *(undefined1 **)(pIVar13 + -8)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined1 **)(pIVar13 + -8)" (* "*") (cast_expression "(undefined1 **)(pIVar13 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar13 + -8)" (( "(") (binary_expression "pIVar13 + -8" (identifier "pIVar13") (+ "+") (number_literal "-8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar2 + -4) = 0;" (assignment_expression "*(undefined4 *)(pIVar2 + -4) = 0" (pointer_expression "*(undefined4 *)(pIVar2 + -4)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x10);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x10)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x10)" (( "(") (binary_expression "pIVar2 + 0x10" (identifier "pIVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x34)" (( "(") (binary_expression "pIVar12 + 0x34" (identifier "pIVar12") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x14)" (( "(") (binary_expression "pIVar2 + 0x14" (identifier "pIVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x30)" (( "(") (binary_expression "pIVar12 + 0x30" (identifier "pIVar12") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x18);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x18)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x18)" (( "(") (binary_expression "pIVar2 + 0x18" (identifier "pIVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x3c)" (( "(") (binary_expression "pIVar12 + 0x3c" (identifier "pIVar12") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x1c)" (( "(") (binary_expression "pIVar2 + 0x1c" (identifier "pIVar2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x38)" (( "(") (binary_expression "pIVar12 + 0x38" (identifier "pIVar12") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "pIVar12 = pIVar11;" (assignment_expression "pIVar12 = pIVar11" (identifier "pIVar12") (= "=") (identifier "pIVar11")) (; ";")) (expression_statement "pIVar2 = pIVar2 + 0x40;" (assignment_expression "pIVar2 = pIVar2 + 0x40" (identifier "pIVar2") (= "=") (binary_expression "pIVar2 + 0x40" (identifier "pIVar2") (+ "+") (number_literal "0x40"))) (; ";")) (if_statement "if (iVar1 == 0) {\n            return pIVar11;\n          }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            return pIVar11;\n          }" ({ "{") (return_statement "return pIVar11;" (return "return") (identifier "pIVar11") (; ";")) (} "}"))) (} "}"))) (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13;" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pIVar13")) (; ";")) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\n        else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }" (if "if") (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" (( "(") (binary_expression "pIVar4 == pIVar12 + 0x20" (identifier "pIVar4") (== "==") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20"))) () ")")) (compound_statement "{\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\nLAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" ({ "{") (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -4)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)pIVar2" (* "*") (cast_expression "(undefined4 *)pIVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar2")))) (; ";")) (labeled_statement "LAB_00219478:\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;" (statement_identifier "LAB_00219478") (: ":") (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar2;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar2" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" (* "*") (cast_expression "(Input_section_info **)(pIVar2 + -8)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar2 + -8)" (( "(") (binary_expression "pIVar2 + -8" (identifier "pIVar2") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pIVar2")) (; ";"))) (expression_statement "pIVar4 = pIVar2;" (assignment_expression "pIVar4 = pIVar2" (identifier "pIVar4") (= "=") (identifier "pIVar2")) (; ";")) (} "}")) (else_clause "else {\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }" (else "else") (compound_statement "{\n          uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;\n          *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n          *(undefined4 *)pIVar2 = uVar3;\n        }" ({ "{") (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -4)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)pIVar2" (* "*") (cast_expression "(undefined4 *)pIVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar2")))) (; ";")) (if_statement "if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;" (if "if") (parenthesized_expression "(pIVar4 == (Input_section_info *)0x0)" (( "(") (binary_expression "pIVar4 == (Input_section_info *)0x0" (identifier "pIVar4") (== "==") (cast_expression "(Input_section_info *)0x0" (( "(") (type_descriptor "Input_section_info *" (type_identifier "Input_section_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00219478;" (goto "goto") (statement_identifier "LAB_00219478") (; ";"))) (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar4;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar4" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" (* "*") (cast_expression "(Input_section_info **)(pIVar2 + -8)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar2 + -8)" (( "(") (binary_expression "pIVar2 + -8" (identifier "pIVar2") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pIVar4")) (; ";")) (expression_statement "*(undefined4 *)pIVar2 = uVar3;" (assignment_expression "*(undefined4 *)pIVar2 = uVar3" (pointer_expression "*(undefined4 *)pIVar2" (* "*") (cast_expression "(undefined4 *)pIVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar2"))) (= "=") (identifier "uVar3")) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(pIVar2 + -4) = 0;" (assignment_expression "*(undefined4 *)(pIVar2 + -4) = 0" (pointer_expression "*(undefined4 *)(pIVar2 + -4)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" (identifier "param_5") (= "=") (binary_expression "pIVar12 + 0x40" (identifier "pIVar12") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*pIVar4 = (Input_section_info)0x0;" (assignment_expression "*pIVar4 = (Input_section_info)0x0" (pointer_expression "*pIVar4" (* "*") (identifier "pIVar4")) (= "=") (cast_expression "(Input_section_info)0x0" (( "(") (type_descriptor "Input_section_info" (type_identifier "Input_section_info")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + -1" (identifier "iVar1") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x10);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x10)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x10)" (( "(") (binary_expression "pIVar2 + 0x10" (identifier "pIVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x34)" (( "(") (binary_expression "pIVar12 + 0x34" (identifier "pIVar12") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x14)" (( "(") (binary_expression "pIVar2 + 0x14" (identifier "pIVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x30)" (( "(") (binary_expression "pIVar12 + 0x30" (identifier "pIVar12") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x18);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x18)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x18)" (( "(") (binary_expression "pIVar2 + 0x18" (identifier "pIVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x3c)" (( "(") (binary_expression "pIVar12 + 0x3c" (identifier "pIVar12") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x1c)" (( "(") (binary_expression "pIVar2 + 0x1c" (identifier "pIVar2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x38)" (( "(") (binary_expression "pIVar12 + 0x38" (identifier "pIVar12") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" (identifier "pIVar12") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pIVar2 = pIVar2 + 0x40;" (assignment_expression "pIVar2 = pIVar2 + 0x40" (identifier "pIVar2") (= "=") (binary_expression "pIVar2 + 0x40" (identifier "pIVar2") (+ "+") (number_literal "0x40"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }" (else "else") (compound_statement "{\n    if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }\n    iVar8 = (int)(param_2 + iVar1) >> 6;\n    if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }\n  }" ({ "{") (if_statement "if (param_3 == param_4) {\n      iVar1 = -(int)param_1;\n    }\n    else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }" (if "if") (parenthesized_expression "(param_3 == param_4)" (( "(") (binary_expression "param_3 == param_4" (identifier "param_3") (== "==") (identifier "param_4")) () ")")) (compound_statement "{\n      iVar1 = -(int)param_1;\n    }" ({ "{") (expression_statement "iVar1 = -(int)param_1;" (assignment_expression "iVar1 = -(int)param_1" (identifier "iVar1") (= "=") (unary_expression "-(int)param_1" (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")))) (; ";")) (} "}")) (else_clause "else {\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }" (else "else") (compound_statement "{\n      pIVar12 = param_5;\n      do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);\n    }" ({ "{") (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" (identifier "pIVar12") (= "=") (identifier "param_5")) (; ";")) (do_statement "do {\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      } while (param_3 != param_4);" (do "do") (compound_statement "{\n        iVar1 = gold::Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);\n        if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }\n        param_5 = pIVar12 + 0x40;\n        if (param_1 == param_2) goto LAB_002190ec;\n        param_5 = pIVar12 + 0x40;\n        iVar1 = -(int)param_1;\n        pIVar12 = param_5;\n      }" ({ "{") (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" (identifier "iVar1") (= "=") (identifier "gold")) (: ":") (: ":")) (labeled_statement "Input_section_sorter::operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);" (statement_identifier "Input_section_sorter") (: ":") (ERROR ":" (: ":")) (expression_statement "operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);" (call_expression "operator()\n                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1)" (call_expression "operator()" (identifier "operator") (argument_list "()" (( "(") () ")"))) (argument_list "((Input_section_sorter *)&stack0x00000014,param_3,param_1)" (( "(") (cast_expression "(Input_section_sorter *)&stack0x00000014" (( "(") (type_descriptor "Input_section_sorter *" (type_identifier "Input_section_sorter") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0x00000014" (& "&") (identifier "stack0x00000014"))) (, ",") (identifier "param_3") (, ",") (identifier "param_1") () ")"))) (; ";"))) (if_statement "if (iVar1 == 0) {\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }\n        else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar6 = *(undefined4 *)(param_1 + 0x10);\n          pIVar2 = param_1 + 0x20;\n          uVar10 = *(undefined4 *)(param_1 + 4);\n          uVar9 = *(undefined4 *)(param_1 + 8);\n          uVar7 = *(undefined4 *)(param_1 + 0xc);\n          uVar3 = *(undefined4 *)(param_1 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }\nLAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_1 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_1 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_1 = param_1 + 0x40;\n        }" ({ "{") (expression_statement "uVar6 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar6 = *(undefined4 *)(param_1 + 0x10)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pIVar2 = param_1 + 0x20;" (assignment_expression "pIVar2 = param_1 + 0x20" (identifier "pIVar2") (= "=") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20"))) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 4);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 4)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar9 = *(undefined4 *)(param_1 + 8)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x14)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)param_1;" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)param_1" (pointer_expression "*(undefined4 *)pIVar12" (* "*") (cast_expression "(undefined4 *)pIVar12" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar12"))) (= "=") (pointer_expression "*(undefined4 *)param_1" (* "*") (cast_expression "(undefined4 *)param_1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 4)" (( "(") (binary_expression "pIVar12 + 4" (identifier "pIVar12") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 8)" (( "(") (binary_expression "pIVar12 + 8" (identifier "pIVar12") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0xc)" (( "(") (binary_expression "pIVar12 + 0xc" (identifier "pIVar12") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x10)" (( "(") (binary_expression "pIVar12 + 0x10" (identifier "pIVar12") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x14)" (( "(") (binary_expression "pIVar12 + 0x14" (identifier "pIVar12") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (if_statement "if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }" (if "if") (parenthesized_expression "(*(Input_section_info **)(param_1 + 0x18) == pIVar2)" (( "(") (binary_expression "*(Input_section_info **)(param_1 + 0x18) == pIVar2" (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_1 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (identifier "pIVar2")) () ")")) (compound_statement "{\n            iVar1 = *(int *)(param_1 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n          }" ({ "{") (expression_statement "iVar1 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_1 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" ({ "{") (if_statement "if (iVar1 == 1) {\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }" (if "if") (parenthesized_expression "(iVar1 == 1)" (( "(") (binary_expression "iVar1 == 1" (identifier "iVar1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                *pIVar4 = param_1[0x20];\n                iVar1 = *(int *)(param_1 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_1 + 0x18);\n                goto LAB_002190b8;\n              }" ({ "{") (expression_statement "*pIVar4 = param_1[0x20];" (assignment_expression "*pIVar4 = param_1[0x20]" (pointer_expression "*pIVar4" (* "*") (identifier "pIVar4")) (= "=") (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]"))) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(int *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" (* "*") (cast_expression "(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pIVar12 + 0x18) + iVar1)" (( "(") (binary_expression "*(int *)(pIVar12 + 0x18) + iVar1" (pointer_expression "*(int *)(pIVar12 + 0x18)" (* "*") (cast_expression "(int *)(pIVar12 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pIVar2 = *(Input_section_info **)(param_1 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_1 + 0x18)" (identifier "pIVar2") (= "=") (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_1 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (goto_statement "goto LAB_002190b8;" (goto "goto") (statement_identifier "LAB_002190b8") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_memcpy_00436788)();" (call_expression "(*(code *)PTR_memcpy_00436788)()" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00436788" (* "*") (cast_expression "(code *)PTR_memcpy_00436788" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00436788"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}"))) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(int *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "pIVar4[iVar1] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar1] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar1]" (identifier "pIVar4") ([ "[") (identifier "iVar1") (] "]")) (= "=") (cast_expression "(Input_section_info)0x0" (( "(") (type_descriptor "Input_section_info" (type_identifier "Input_section_info")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pIVar2 = *(Input_section_info **)(param_1 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_1 + 0x18)" (identifier "pIVar2") (= "=") (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_1 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }" (else "else") (compound_statement "{\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }\n            *(Input_section_info **)(param_1 + 0x18) = pIVar2;\n          }" ({ "{") (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18)" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_1 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }" (if "if") (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" (( "(") (binary_expression "pIVar4 == pIVar12 + 0x20" (identifier "pIVar4") (== "==") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20"))) () ")")) (compound_statement "{\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n            }" ({ "{") (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }" (else "else") (compound_statement "{\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }\n            }" ({ "{") (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }" (if "if") (parenthesized_expression "(pIVar4 != (Input_section_info *)0x0)" (( "(") (binary_expression "pIVar4 != (Input_section_info *)0x0" (identifier "pIVar4") (!= "!=") (cast_expression "(Input_section_info *)0x0" (( "(") (type_descriptor "Input_section_info *" (type_identifier "Input_section_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(Input_section_info **)(param_1 + 0x18) = pIVar4;\n                *(undefined4 *)(param_1 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_002190b8;\n              }" ({ "{") (expression_statement "*(Input_section_info **)(param_1 + 0x18) = pIVar4;" (assignment_expression "*(Input_section_info **)(param_1 + 0x18) = pIVar4" (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_1 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pIVar4")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x20) = uVar3;" (assignment_expression "*(undefined4 *)(param_1 + 0x20) = uVar3" (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "pIVar2 = pIVar4;" (assignment_expression "pIVar2 = pIVar4" (identifier "pIVar2") (= "=") (identifier "pIVar4")) (; ";")) (goto_statement "goto LAB_002190b8;" (goto "goto") (statement_identifier "LAB_002190b8") (; ";")) (} "}"))) (} "}")))) (expression_statement "*(Input_section_info **)(param_1 + 0x18) = pIVar2;" (assignment_expression "*(Input_section_info **)(param_1 + 0x18) = pIVar2" (pointer_expression "*(Input_section_info **)(param_1 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_1 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pIVar2")) (; ";")) (} "}")))) (labeled_statement "LAB_002190b8:\n          *(undefined4 *)(param_1 + 0x1c) = 0;" (statement_identifier "LAB_002190b8") (: ":") (expression_statement "*(undefined4 *)(param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*pIVar2 = (Input_section_info)0x0;" (assignment_expression "*pIVar2 = (Input_section_info)0x0" (pointer_expression "*pIVar2" (* "*") (identifier "pIVar2")) (= "=") (cast_expression "(Input_section_info)0x0" (( "(") (type_descriptor "Input_section_info" (type_identifier "Input_section_info")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x30);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x30)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x34)" (( "(") (binary_expression "pIVar12 + 0x34" (identifier "pIVar12") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x30)" (( "(") (binary_expression "pIVar12 + 0x30" (identifier "pIVar12") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x38)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x38)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x3c)" (( "(") (binary_expression "pIVar12 + 0x3c" (identifier "pIVar12") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x38)" (( "(") (binary_expression "pIVar12 + 0x38" (identifier "pIVar12") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_1 = param_1 + 0x40;" (assignment_expression "param_1 = param_1 + 0x40" (identifier "param_1") (= "=") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40"))) (; ";")) (} "}")) (else_clause "else {\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }" (else "else") (compound_statement "{\n          uVar6 = *(undefined4 *)(param_3 + 0x10);\n          pIVar2 = param_3 + 0x20;\n          uVar10 = *(undefined4 *)(param_3 + 4);\n          uVar9 = *(undefined4 *)(param_3 + 8);\n          uVar7 = *(undefined4 *)(param_3 + 0xc);\n          uVar3 = *(undefined4 *)(param_3 + 0x14);\n          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;\n          *(undefined4 *)(pIVar12 + 4) = uVar10;\n          *(undefined4 *)(pIVar12 + 8) = uVar9;\n          *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n          *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n          *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }\nLAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;\n          *pIVar2 = (Input_section_info)0x0;\n          uVar3 = *(undefined4 *)(param_3 + 0x30);\n          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);\n          *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n          uVar3 = *(undefined4 *)(param_3 + 0x38);\n          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);\n          *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n          param_3 = param_3 + 0x40;\n        }" ({ "{") (expression_statement "uVar6 = *(undefined4 *)(param_3 + 0x10);" (assignment_expression "uVar6 = *(undefined4 *)(param_3 + 0x10)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x10)" (( "(") (binary_expression "param_3 + 0x10" (identifier "param_3") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pIVar2 = param_3 + 0x20;" (assignment_expression "pIVar2 = param_3 + 0x20" (identifier "pIVar2") (= "=") (binary_expression "param_3 + 0x20" (identifier "param_3") (+ "+") (number_literal "0x20"))) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_3 + 4);" (assignment_expression "uVar10 = *(undefined4 *)(param_3 + 4)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 4)" (* "*") (cast_expression "(undefined4 *)(param_3 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(param_3 + 8);" (assignment_expression "uVar9 = *(undefined4 *)(param_3 + 8)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 8)" (* "*") (cast_expression "(undefined4 *)(param_3 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 8)" (( "(") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_3 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0x14);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0x14)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)param_3;" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)param_3" (pointer_expression "*(undefined4 *)pIVar12" (* "*") (cast_expression "(undefined4 *)pIVar12" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar12"))) (= "=") (pointer_expression "*(undefined4 *)param_3" (* "*") (cast_expression "(undefined4 *)param_3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3")))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 4)" (( "(") (binary_expression "pIVar12 + 4" (identifier "pIVar12") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 8)" (( "(") (binary_expression "pIVar12 + 8" (identifier "pIVar12") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0xc)" (( "(") (binary_expression "pIVar12 + 0xc" (identifier "pIVar12") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x10)" (( "(") (binary_expression "pIVar12 + 0x10" (identifier "pIVar12") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x14)" (( "(") (binary_expression "pIVar12 + 0x14" (identifier "pIVar12") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (if_statement "if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }\n          else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }" (if "if") (parenthesized_expression "(*(Input_section_info **)(param_3 + 0x18) == pIVar2)" (( "(") (binary_expression "*(Input_section_info **)(param_3 + 0x18) == pIVar2" (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_3 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x18)" (( "(") (binary_expression "param_3 + 0x18" (identifier "param_3") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (identifier "pIVar2")) () ")")) (compound_statement "{\n            iVar1 = *(int *)(param_3 + 0x1c);\n            if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            *(int *)(pIVar12 + 0x1c) = iVar1;\n            pIVar4[iVar1] = (Input_section_info)0x0;\n            pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n          }" ({ "{") (expression_statement "iVar1 = *(int *)(param_3 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_3 + 0x1c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_3 + 0x1c)" (* "*") (cast_expression "(int *)(param_3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar1 != 0) {\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }\n              (*(code *)PTR_memcpy_00436788)();\n              iVar1 = *(int *)(param_3 + 0x1c);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" ({ "{") (if_statement "if (iVar1 == 1) {\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }" (if "if") (parenthesized_expression "(iVar1 == 1)" (( "(") (binary_expression "iVar1 == 1" (identifier "iVar1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                *pIVar4 = param_3[0x20];\n                iVar1 = *(int *)(param_3 + 0x1c);\n                *(int *)(pIVar12 + 0x1c) = iVar1;\n                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;\n                pIVar2 = *(Input_section_info **)(param_3 + 0x18);\n                goto LAB_00218ff4;\n              }" ({ "{") (expression_statement "*pIVar4 = param_3[0x20];" (assignment_expression "*pIVar4 = param_3[0x20]" (pointer_expression "*pIVar4" (* "*") (identifier "pIVar4")) (= "=") (subscript_expression "param_3[0x20]" (identifier "param_3") ([ "[") (number_literal "0x20") (] "]"))) (; ";")) (expression_statement "iVar1 = *(int *)(param_3 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_3 + 0x1c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_3 + 0x1c)" (* "*") (cast_expression "(int *)(param_3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(int *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" (* "*") (cast_expression "(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pIVar12 + 0x18) + iVar1)" (( "(") (binary_expression "*(int *)(pIVar12 + 0x18) + iVar1" (pointer_expression "*(int *)(pIVar12 + 0x18)" (* "*") (cast_expression "(int *)(pIVar12 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pIVar2 = *(Input_section_info **)(param_3 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_3 + 0x18)" (identifier "pIVar2") (= "=") (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_3 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x18)" (( "(") (binary_expression "param_3 + 0x18" (identifier "param_3") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (goto_statement "goto LAB_00218ff4;" (goto "goto") (statement_identifier "LAB_00218ff4") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_memcpy_00436788)();" (call_expression "(*(code *)PTR_memcpy_00436788)()" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00436788" (* "*") (cast_expression "(code *)PTR_memcpy_00436788" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00436788"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)(param_3 + 0x1c);" (assignment_expression "iVar1 = *(int *)(param_3 + 0x1c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_3 + 0x1c)" (* "*") (cast_expression "(int *)(param_3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}"))) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(int *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "pIVar4[iVar1] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar1] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar1]" (identifier "pIVar4") ([ "[") (identifier "iVar1") (] "]")) (= "=") (cast_expression "(Input_section_info)0x0" (( "(") (type_descriptor "Input_section_info" (type_identifier "Input_section_info")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pIVar2 = *(Input_section_info **)(param_3 + 0x18);" (assignment_expression "pIVar2 = *(Input_section_info **)(param_3 + 0x18)" (identifier "pIVar2") (= "=") (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_3 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x18)" (( "(") (binary_expression "param_3 + 0x18" (identifier "param_3") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }" (else "else") (compound_statement "{\n            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);\n            if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }\n            *(Input_section_info **)(param_3 + 0x18) = pIVar2;\n          }" ({ "{") (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18)" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_3 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x18)" (( "(") (binary_expression "param_3 + 0x18" (identifier "param_3") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }\n            else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }" (if "if") (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" (( "(") (binary_expression "pIVar4 == pIVar12 + 0x20" (identifier "pIVar4") (== "==") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20"))) () ")")) (compound_statement "{\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n            }" ({ "{") (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x20)" (( "(") (binary_expression "param_3 + 0x20" (identifier "param_3") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }" (else "else") (compound_statement "{\n              uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);\n              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);\n              if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }\n            }" ({ "{") (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x20)" (( "(") (binary_expression "param_3 + 0x20" (identifier "param_3") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (pIVar4 != (Input_section_info *)0x0) {\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }" (if "if") (parenthesized_expression "(pIVar4 != (Input_section_info *)0x0)" (( "(") (binary_expression "pIVar4 != (Input_section_info *)0x0" (identifier "pIVar4") (!= "!=") (cast_expression "(Input_section_info *)0x0" (( "(") (type_descriptor "Input_section_info *" (type_identifier "Input_section_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(Input_section_info **)(param_3 + 0x18) = pIVar4;\n                *(undefined4 *)(param_3 + 0x20) = uVar3;\n                pIVar2 = pIVar4;\n                goto LAB_00218ff4;\n              }" ({ "{") (expression_statement "*(Input_section_info **)(param_3 + 0x18) = pIVar4;" (assignment_expression "*(Input_section_info **)(param_3 + 0x18) = pIVar4" (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_3 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x18)" (( "(") (binary_expression "param_3 + 0x18" (identifier "param_3") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pIVar4")) (; ";")) (expression_statement "*(undefined4 *)(param_3 + 0x20) = uVar3;" (assignment_expression "*(undefined4 *)(param_3 + 0x20) = uVar3" (pointer_expression "*(undefined4 *)(param_3 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x20)" (( "(") (binary_expression "param_3 + 0x20" (identifier "param_3") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "pIVar2 = pIVar4;" (assignment_expression "pIVar2 = pIVar4" (identifier "pIVar2") (= "=") (identifier "pIVar4")) (; ";")) (goto_statement "goto LAB_00218ff4;" (goto "goto") (statement_identifier "LAB_00218ff4") (; ";")) (} "}"))) (} "}")))) (expression_statement "*(Input_section_info **)(param_3 + 0x18) = pIVar2;" (assignment_expression "*(Input_section_info **)(param_3 + 0x18) = pIVar2" (pointer_expression "*(Input_section_info **)(param_3 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(param_3 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x18)" (( "(") (binary_expression "param_3 + 0x18" (identifier "param_3") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pIVar2")) (; ";")) (} "}")))) (labeled_statement "LAB_00218ff4:\n          *(undefined4 *)(param_3 + 0x1c) = 0;" (statement_identifier "LAB_00218ff4") (: ":") (expression_statement "*(undefined4 *)(param_3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*pIVar2 = (Input_section_info)0x0;" (assignment_expression "*pIVar2 = (Input_section_info)0x0" (pointer_expression "*pIVar2" (* "*") (identifier "pIVar2")) (= "=") (cast_expression "(Input_section_info)0x0" (( "(") (type_descriptor "Input_section_info" (type_identifier "Input_section_info")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0x30);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0x30)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x30)" (( "(") (binary_expression "param_3 + 0x30" (identifier "param_3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x34)" (( "(") (binary_expression "pIVar12 + 0x34" (identifier "pIVar12") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x34)" (( "(") (binary_expression "param_3 + 0x34" (identifier "param_3") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x30)" (( "(") (binary_expression "pIVar12 + 0x30" (identifier "pIVar12") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0x38);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0x38)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x38)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x38)" (( "(") (binary_expression "param_3 + 0x38" (identifier "param_3") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x3c)" (( "(") (binary_expression "pIVar12 + 0x3c" (identifier "pIVar12") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x3c)" (( "(") (binary_expression "param_3 + 0x3c" (identifier "param_3") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x38)" (( "(") (binary_expression "pIVar12 + 0x38" (identifier "pIVar12") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_3 = param_3 + 0x40;" (assignment_expression "param_3 = param_3 + 0x40" (identifier "param_3") (= "=") (binary_expression "param_3 + 0x40" (identifier "param_3") (+ "+") (number_literal "0x40"))) (; ";")) (} "}")))) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" (identifier "param_5") (= "=") (binary_expression "pIVar12 + 0x40" (identifier "pIVar12") (+ "+") (number_literal "0x40"))) (; ";")) (if_statement "if (param_1 == param_2) goto LAB_002190ec;" (if "if") (parenthesized_expression "(param_1 == param_2)" (( "(") (binary_expression "param_1 == param_2" (identifier "param_1") (== "==") (identifier "param_2")) () ")")) (goto_statement "goto LAB_002190ec;" (goto "goto") (statement_identifier "LAB_002190ec") (; ";"))) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" (identifier "param_5") (= "=") (binary_expression "pIVar12 + 0x40" (identifier "pIVar12") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "iVar1 = -(int)param_1;" (assignment_expression "iVar1 = -(int)param_1" (identifier "iVar1") (= "=") (unary_expression "-(int)param_1" (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")))) (; ";")) (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" (identifier "pIVar12") (= "=") (identifier "param_5")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_3 != param_4)" (( "(") (binary_expression "param_3 != param_4" (identifier "param_3") (!= "!=") (identifier "param_4")) () ")")) (; ";")) (} "}")))) (expression_statement "iVar8 = (int)(param_2 + iVar1) >> 6;" (assignment_expression "iVar8 = (int)(param_2 + iVar1) >> 6" (identifier "iVar8") (= "=") (binary_expression "(int)(param_2 + iVar1) >> 6" (cast_expression "(int)(param_2 + iVar1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 + iVar1)" (( "(") (binary_expression "param_2 + iVar1" (identifier "param_2") (+ "+") (identifier "iVar1")) () ")"))) (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (0 < (int)(param_2 + iVar1)) {\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }" (if "if") (parenthesized_expression "(0 < (int)(param_2 + iVar1))" (( "(") (binary_expression "0 < (int)(param_2 + iVar1)" (number_literal "0") (< "<") (cast_expression "(int)(param_2 + iVar1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 + iVar1)" (( "(") (binary_expression "param_2 + iVar1" (identifier "param_2") (+ "+") (identifier "iVar1")) () ")")))) () ")")) (compound_statement "{\n      pIVar12 = param_5;\n      pIVar2 = param_1 + 0x20;\n      do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);\n    }" ({ "{") (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" (identifier "pIVar12") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pIVar2 = param_1 + 0x20;" (assignment_expression "pIVar2 = param_1 + 0x20" (identifier "pIVar2") (= "=") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20"))) (; ";")) (do_statement "do {\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      } while (iVar8 != 0);" (do "do") (compound_statement "{\n        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);\n        uVar9 = *(undefined4 *)(pIVar2 + -0x18);\n        uVar7 = *(undefined4 *)(pIVar2 + -0x14);\n        uVar6 = *(undefined4 *)(pIVar2 + -0x10);\n        uVar3 = *(undefined4 *)(pIVar2 + -0xc);\n        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);\n        *(undefined4 *)(pIVar12 + 4) = uVar10;\n        *(undefined4 *)(pIVar12 + 8) = uVar9;\n        *(undefined4 *)(pIVar12 + 0xc) = uVar7;\n        *(undefined4 *)(pIVar12 + 0x10) = uVar6;\n        *(undefined4 *)(pIVar12 + 0x14) = uVar3;\n        pIVar13 = *(Input_section_info **)(pIVar2 + -8);\n        if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }\nLAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;\n        param_5 = pIVar12 + 0x40;\n        *pIVar4 = (Input_section_info)0x0;\n        iVar8 = iVar8 + -1;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x10);\n        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);\n        *(undefined4 *)(pIVar12 + 0x30) = uVar3;\n        uVar3 = *(undefined4 *)(pIVar2 + 0x18);\n        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);\n        *(undefined4 *)(pIVar12 + 0x38) = uVar3;\n        pIVar12 = param_5;\n        pIVar2 = pIVar2 + 0x40;\n      }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)(pIVar2 + -0x1c);" (assignment_expression "uVar10 = *(undefined4 *)(pIVar2 + -0x1c)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x1c)" (( "(") (binary_expression "pIVar2 + -0x1c" (identifier "pIVar2") (+ "+") (number_literal "-0x1c")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(pIVar2 + -0x18);" (assignment_expression "uVar9 = *(undefined4 *)(pIVar2 + -0x18)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x18)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x18)" (( "(") (binary_expression "pIVar2 + -0x18" (identifier "pIVar2") (+ "+") (number_literal "-0x18")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(pIVar2 + -0x14);" (assignment_expression "uVar7 = *(undefined4 *)(pIVar2 + -0x14)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x14)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x14)" (( "(") (binary_expression "pIVar2 + -0x14" (identifier "pIVar2") (+ "+") (number_literal "-0x14")) () ")"))))) (; ";")) (expression_statement "uVar6 = *(undefined4 *)(pIVar2 + -0x10);" (assignment_expression "uVar6 = *(undefined4 *)(pIVar2 + -0x10)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x10)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x10)" (( "(") (binary_expression "pIVar2 + -0x10" (identifier "pIVar2") (+ "+") (number_literal "-0x10")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + -0xc);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + -0xc)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0xc)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0xc)" (( "(") (binary_expression "pIVar2 + -0xc" (identifier "pIVar2") (+ "+") (number_literal "-0xc")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);" (assignment_expression "*(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20)" (pointer_expression "*(undefined4 *)pIVar12" (* "*") (cast_expression "(undefined4 *)pIVar12" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar12"))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -0x20)" (( "(") (binary_expression "pIVar2 + -0x20" (identifier "pIVar2") (+ "+") (number_literal "-0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 4) = uVar10;" (assignment_expression "*(undefined4 *)(pIVar12 + 4) = uVar10" (pointer_expression "*(undefined4 *)(pIVar12 + 4)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 4)" (( "(") (binary_expression "pIVar12 + 4" (identifier "pIVar12") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 8) = uVar9;" (assignment_expression "*(undefined4 *)(pIVar12 + 8) = uVar9" (pointer_expression "*(undefined4 *)(pIVar12 + 8)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 8)" (( "(") (binary_expression "pIVar12 + 8" (identifier "pIVar12") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0xc) = uVar7;" (assignment_expression "*(undefined4 *)(pIVar12 + 0xc) = uVar7" (pointer_expression "*(undefined4 *)(pIVar12 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0xc)" (( "(") (binary_expression "pIVar12 + 0xc" (identifier "pIVar12") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x10) = uVar6;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x10) = uVar6" (pointer_expression "*(undefined4 *)(pIVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x10)" (( "(") (binary_expression "pIVar12 + 0x10" (identifier "pIVar12") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x14)" (( "(") (binary_expression "pIVar12 + 0x14" (identifier "pIVar12") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "pIVar13 = *(Input_section_info **)(pIVar2 + -8);" (assignment_expression "pIVar13 = *(Input_section_info **)(pIVar2 + -8)" (identifier "pIVar13") (= "=") (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" (* "*") (cast_expression "(Input_section_info **)(pIVar2 + -8)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar2 + -8)" (( "(") (binary_expression "pIVar2 + -8" (identifier "pIVar2") (+ "+") (number_literal "-8")) () ")"))))) (; ";")) (if_statement "if (pIVar2 == pIVar13) {\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }\n        else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" (if "if") (parenthesized_expression "(pIVar2 == pIVar13)" (( "(") (binary_expression "pIVar2 == pIVar13" (identifier "pIVar2") (== "==") (identifier "pIVar13")) () ")")) (compound_statement "{\n          iVar1 = *(int *)(pIVar2 + -4);\n          if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }\n          *(int *)(pIVar12 + 0x1c) = iVar1;\n          pIVar4[iVar1] = (Input_section_info)0x0;\n          pIVar4 = *(Input_section_info **)(pIVar13 + -8);\n        }" ({ "{") (expression_statement "iVar1 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar1 = *(int *)(pIVar2 + -4)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(pIVar2 + -4)" (* "*") (cast_expression "(int *)(pIVar2 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (if_statement "if (iVar1 != 0) {\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n          }" ({ "{") (if_statement "if (iVar1 == 1) {\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }\n            else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" (if "if") (parenthesized_expression "(iVar1 == 1)" (( "(") (binary_expression "iVar1 == 1" (identifier "iVar1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              *pIVar4 = *pIVar2;\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" ({ "{") (expression_statement "*pIVar4 = *pIVar2;" (assignment_expression "*pIVar4 = *pIVar2" (pointer_expression "*pIVar4" (* "*") (identifier "pIVar4")) (= "=") (pointer_expression "*pIVar2" (* "*") (identifier "pIVar2"))) (; ";")) (expression_statement "iVar1 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar1 = *(int *)(pIVar2 + -4)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(pIVar2 + -4)" (* "*") (cast_expression "(int *)(pIVar2 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" (else "else") (compound_statement "{\n              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);\n              iVar1 = *(int *)(pIVar2 + -4);\n              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);\n            }" ({ "{") (expression_statement "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);" (call_expression "(*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00436788" (* "*") (cast_expression "(code *)PTR_memcpy_00436788" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00436788"))) () ")")) (argument_list "(pIVar4,pIVar2)" (( "(") (identifier "pIVar4") (, ",") (identifier "pIVar2") () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)(pIVar2 + -4);" (assignment_expression "iVar1 = *(int *)(pIVar2 + -4)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(pIVar2 + -4)" (* "*") (cast_expression "(int *)(pIVar2 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar12 + 0x18)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (expression_statement "*(int *)(pIVar12 + 0x1c) = iVar1;" (assignment_expression "*(int *)(pIVar12 + 0x1c) = iVar1" (pointer_expression "*(int *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(int *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "pIVar4[iVar1] = (Input_section_info)0x0;" (assignment_expression "pIVar4[iVar1] = (Input_section_info)0x0" (subscript_expression "pIVar4[iVar1]" (identifier "pIVar4") ([ "[") (identifier "iVar1") (] "]")) (= "=") (cast_expression "(Input_section_info)0x0" (( "(") (type_descriptor "Input_section_info" (type_identifier "Input_section_info")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pIVar4 = *(Input_section_info **)(pIVar13 + -8);" (assignment_expression "pIVar4 = *(Input_section_info **)(pIVar13 + -8)" (identifier "pIVar4") (= "=") (pointer_expression "*(Input_section_info **)(pIVar13 + -8)" (* "*") (cast_expression "(Input_section_info **)(pIVar13 + -8)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar13 + -8)" (( "(") (binary_expression "pIVar13 + -8" (identifier "pIVar13") (+ "+") (number_literal "-8")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" (else "else") (compound_statement "{\n          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;\n          if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }\n          *(Input_section_info **)(pIVar2 + -8) = pIVar2;\n          pIVar4 = pIVar2;\n        }" ({ "{") (expression_statement "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13;" (assignment_expression "*(Input_section_info **)(pIVar12 + 0x18) = pIVar13" (pointer_expression "*(Input_section_info **)(pIVar12 + 0x18)" (* "*") (cast_expression "(Input_section_info **)(pIVar12 + 0x18)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar12 + 0x18)" (( "(") (binary_expression "pIVar12 + 0x18" (identifier "pIVar12") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pIVar13")) (; ";")) (if_statement "if (pIVar4 == pIVar12 + 0x20) {\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }\n          else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }" (if "if") (parenthesized_expression "(pIVar4 == pIVar12 + 0x20)" (( "(") (binary_expression "pIVar4 == pIVar12 + 0x20" (identifier "pIVar4") (== "==") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20"))) () ")")) (compound_statement "{\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n          }" ({ "{") (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -4)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)pIVar2" (* "*") (cast_expression "(undefined4 *)pIVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar2")))) (; ";")) (} "}")) (else_clause "else {\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }" (else "else") (compound_statement "{\n            uVar3 = *(undefined4 *)(pIVar12 + 0x20);\n            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);\n            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;\n            if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }\n          }" ({ "{") (expression_statement "uVar3 = *(undefined4 *)(pIVar12 + 0x20);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar12 + 0x20)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x1c)" (( "(") (binary_expression "pIVar12 + 0x1c" (identifier "pIVar12") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + -4)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2" (pointer_expression "*(undefined4 *)(pIVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x20)" (( "(") (binary_expression "pIVar12 + 0x20" (identifier "pIVar12") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)pIVar2" (* "*") (cast_expression "(undefined4 *)pIVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar2")))) (; ";")) (if_statement "if (pIVar4 != (Input_section_info *)0x0) {\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }" (if "if") (parenthesized_expression "(pIVar4 != (Input_section_info *)0x0)" (( "(") (binary_expression "pIVar4 != (Input_section_info *)0x0" (identifier "pIVar4") (!= "!=") (cast_expression "(Input_section_info *)0x0" (( "(") (type_descriptor "Input_section_info *" (type_identifier "Input_section_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              *(Input_section_info **)(pIVar2 + -8) = pIVar4;\n              *(undefined4 *)pIVar2 = uVar3;\n              goto LAB_00219384;\n            }" ({ "{") (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar4;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar4" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" (* "*") (cast_expression "(Input_section_info **)(pIVar2 + -8)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar2 + -8)" (( "(") (binary_expression "pIVar2 + -8" (identifier "pIVar2") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pIVar4")) (; ";")) (expression_statement "*(undefined4 *)pIVar2 = uVar3;" (assignment_expression "*(undefined4 *)pIVar2 = uVar3" (pointer_expression "*(undefined4 *)pIVar2" (* "*") (cast_expression "(undefined4 *)pIVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pIVar2"))) (= "=") (identifier "uVar3")) (; ";")) (goto_statement "goto LAB_00219384;" (goto "goto") (statement_identifier "LAB_00219384") (; ";")) (} "}"))) (} "}")))) (expression_statement "*(Input_section_info **)(pIVar2 + -8) = pIVar2;" (assignment_expression "*(Input_section_info **)(pIVar2 + -8) = pIVar2" (pointer_expression "*(Input_section_info **)(pIVar2 + -8)" (* "*") (cast_expression "(Input_section_info **)(pIVar2 + -8)" (( "(") (type_descriptor "Input_section_info **" (type_identifier "Input_section_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pIVar2 + -8)" (( "(") (binary_expression "pIVar2 + -8" (identifier "pIVar2") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pIVar2")) (; ";")) (expression_statement "pIVar4 = pIVar2;" (assignment_expression "pIVar4 = pIVar2" (identifier "pIVar4") (= "=") (identifier "pIVar2")) (; ";")) (} "}")))) (labeled_statement "LAB_00219384:\n        *(undefined4 *)(pIVar2 + -4) = 0;" (statement_identifier "LAB_00219384") (: ":") (expression_statement "*(undefined4 *)(pIVar2 + -4) = 0;" (assignment_expression "*(undefined4 *)(pIVar2 + -4) = 0" (pointer_expression "*(undefined4 *)(pIVar2 + -4)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + -4)" (( "(") (binary_expression "pIVar2 + -4" (identifier "pIVar2") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "param_5 = pIVar12 + 0x40;" (assignment_expression "param_5 = pIVar12 + 0x40" (identifier "param_5") (= "=") (binary_expression "pIVar12 + 0x40" (identifier "pIVar12") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*pIVar4 = (Input_section_info)0x0;" (assignment_expression "*pIVar4 = (Input_section_info)0x0" (pointer_expression "*pIVar4" (* "*") (identifier "pIVar4")) (= "=") (cast_expression "(Input_section_info)0x0" (( "(") (type_descriptor "Input_section_info" (type_identifier "Input_section_info")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x10);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x10)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x10)" (( "(") (binary_expression "pIVar2 + 0x10" (identifier "pIVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x34)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x34)" (( "(") (binary_expression "pIVar12 + 0x34" (identifier "pIVar12") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x14)" (( "(") (binary_expression "pIVar2 + 0x14" (identifier "pIVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x30) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x30) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x30)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x30)" (( "(") (binary_expression "pIVar12 + 0x30" (identifier "pIVar12") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(pIVar2 + 0x18);" (assignment_expression "uVar3 = *(undefined4 *)(pIVar2 + 0x18)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x18)" (( "(") (binary_expression "pIVar2 + 0x18" (identifier "pIVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);" (assignment_expression "*(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c)" (pointer_expression "*(undefined4 *)(pIVar12 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x3c)" (( "(") (binary_expression "pIVar12 + 0x3c" (identifier "pIVar12") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pIVar2 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pIVar2 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar2 + 0x1c)" (( "(") (binary_expression "pIVar2 + 0x1c" (identifier "pIVar2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pIVar12 + 0x38) = uVar3;" (assignment_expression "*(undefined4 *)(pIVar12 + 0x38) = uVar3" (pointer_expression "*(undefined4 *)(pIVar12 + 0x38)" (* "*") (cast_expression "(undefined4 *)(pIVar12 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pIVar12 + 0x38)" (( "(") (binary_expression "pIVar12 + 0x38" (identifier "pIVar12") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "pIVar12 = param_5;" (assignment_expression "pIVar12 = param_5" (identifier "pIVar12") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pIVar2 = pIVar2 + 0x40;" (assignment_expression "pIVar2 = pIVar2 + 0x40" (identifier "pIVar2") (= "=") (binary_expression "pIVar2 + 0x40" (identifier "pIVar2") (+ "+") (number_literal "0x40"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (} "}")))) (return_statement "return param_5;" (return "return") (identifier "param_5") (; ";")) (} "}"))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* DWARF original name: __move_merge<__gnu_cxx::__normal_iterator<gold::Input_section_info*,
   std::vector<gold::Input_section_info> >, gold::Input_section_info*,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Input_section_sorter> > */

type_8 *
std::
__move_merge<__gnu_cxx::__normal_iterator<gold::type_8*,_std::vector<gold::type_8>var_3>,_gold::type_8*,___gnu_cxx::__ops::_Iter_comp_iter<gold::Input_section_sorter>var_3>
          (__normal_iterator<gold::type_8*,_std::vector<gold::type_8,_std::var_1<gold::type_8>var_3>var_3>
           __first1,
          __normal_iterator<gold::type_8*,_std::vector<gold::type_8,_std::var_1<gold::type_8>var_3>var_3>
          __last1,__normal_iterator<gold::type_8*,_std::vector<gold::type_8,_std::var_1<gold::type_8>var_3>var_3>
                  __first2,
          __normal_iterator<gold::type_8*,_std::vector<gold::type_8,_std::var_1<gold::type_8>var_3>var_3>
          __last2,type_8 *__result,_Iter_comp_iter<gold::Input_section_sorter> __comp)

{
  type_1 extraout_var;
  bool bVar1;
  type_2 uVar2;
  type_3 var_8;
  anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
  *var_5;
  type_4 *puVar5;
  anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
  *var_6;
  type_5 aVar7;
  type_6 var_13;
  type_3 sVar9;
  type_7 uVar10;
  type_3 sVar11;
  type_7 uVar12;
  type_3 sVar13;
  type_2 uVar14;
  type_8 *pIVar15;
  type_8 *var_9;
  int var_10;
  type_3 *var_7;
  int var_14;
  
  if (__first1._M_current == __last1._M_current) {
LAB_002190ec:
    var_10 = (int)__last2._M_current - (int)__first2._M_current >> 6;
    if (0 < (int)__last2._M_current - (int)__first2._M_current) {
      var_9 = __result;
      var_6 = &((__first2._M_current)->section_name_).field_2;
      do {
        while( true ) {
          sVar13 = *(type_3 *)((int)var_6 + -0x1c);
          sVar11 = *(type_3 *)((int)var_6 + -0x18);
          sVar9 = *(type_3 *)((int)var_6 + -0x14);
          aVar7 = *(type_5 *)(var_6 + -1);
          var_8 = *(type_3 *)((int)var_6 + -0xc);
          var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                    *)(var_9->section_name_)._M_dataplus._M_p;
          (var_9->input_section_).shndx_ = var_6[-2]._M_allocated_capacity;
          (var_9->input_section_).p2align_ = sVar13;
          *(type_3 *)&(var_9->input_section_).u1_ = sVar11;
          *(type_3 *)((int)&(var_9->input_section_).u1_ + 4) = sVar9;
          (var_9->input_section_).u2_ = aVar7;
          (var_9->input_section_).section_order_index_ = var_8;
          var_7 = (type_3 *)(((type_9 *)((int)var_6 + -8))->_M_dataplus)._M_p;
          if (var_6 != (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                         *)var_7) break;
          var_8 = *(type_3 *)((int)var_6 + -4);
          if (var_8 != 0) {
            if (var_8 == 1) {
              var_5->_M_local_buf[0] = var_6->_M_local_buf[0];
              var_8 = *(type_3 *)((int)var_6 + -4);
              var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                        *)(var_9->section_name_)._M_dataplus._M_p;
            }
            else {
              (*(type_10 *)PTR_memcpy_00436788)(var_5,var_6);
              var_8 = *(type_3 *)((int)var_6 + -4);
              var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                        *)(var_9->section_name_)._M_dataplus._M_p;
            }
          }
          (var_9->section_name_)._M_string_length = var_8;
          pIVar15 = var_9 + 1;
          var_5->_M_local_buf[var_8] = '\0';
          var_10 = var_10 + -1;
          puVar5 = (type_4 *)var_7[-2];
          *(type_3 *)((int)var_6 + -4) = 0;
          *puVar5 = 0;
          var_8 = var_6[1]._M_allocated_capacity;
          *(type_3 *)((int)&var_9->size_ + 4) = *(type_3 *)((int)var_6 + 0x14);
          *(type_3 *)&var_9->size_ = var_8;
          var_8 = *(type_3 *)((int)var_6 + 0x18);
          *(type_3 *)((int)&var_9->addralign_ + 4) = *(type_3 *)((int)var_6 + 0x1c);
          *(type_3 *)&var_9->addralign_ = var_8;
          var_9 = pIVar15;
          var_6 = var_6 + 4;
          if (var_10 == 0) {
            return pIVar15;
          }
        }
        (var_9->section_name_)._M_dataplus._M_p = (type_6)var_7;
        if (var_5 == &(var_9->section_name_).field_2) {
          (var_9->section_name_)._M_string_length = *(type_3 *)((int)var_6 + -4);
          (var_9->section_name_).field_2._M_allocated_capacity = var_6->_M_allocated_capacity;
LAB_00219478:
          (((type_9 *)((int)var_6 + -8))->_M_dataplus)._M_p = (type_6)var_6;
          var_5 = var_6;
        }
        else {
          var_8 = (var_9->section_name_).field_2._M_allocated_capacity;
          (var_9->section_name_)._M_string_length = *(type_3 *)((int)var_6 + -4);
          (var_9->section_name_).field_2._M_allocated_capacity = var_6->_M_allocated_capacity;
          if (var_5 == (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                         *)0x0) goto LAB_00219478;
          (((type_9 *)((int)var_6 + -8))->_M_dataplus)._M_p = (type_6)var_5;
          var_6->_M_allocated_capacity = var_8;
        }
        *(type_3 *)((int)var_6 + -4) = 0;
        __result = var_9 + 1;
        var_5->_M_local_buf[0] = '\0';
        var_10 = var_10 + -1;
        var_8 = var_6[1]._M_allocated_capacity;
        *(type_3 *)((int)&var_9->size_ + 4) = *(type_3 *)((int)var_6 + 0x14);
        *(type_3 *)&var_9->size_ = var_8;
        var_8 = *(type_3 *)((int)var_6 + 0x18);
        *(type_3 *)((int)&var_9->addralign_ + 4) = *(type_3 *)((int)var_6 + 0x1c);
        *(type_3 *)&var_9->addralign_ = var_8;
        var_9 = __result;
        var_6 = var_6 + 4;
      } while (var_10 != 0);
    }
  }
  else {
    if (__first2._M_current == __last2._M_current) {
      var_10 = -(int)__first1._M_current;
    }
    else {
      var_9 = __result;
      do {
        bVar1 = gold::Input_section_sorter::var_11()
                          (&__comp._M_comp,__first2._M_current,__first1._M_current);
        if (var_12(extraout_var,bVar1) == 0) {
          aVar7 = ((__first1._M_current)->input_section_).u2_;
          var_6 = &((__first1._M_current)->section_name_).field_2;
          uVar14 = ((__first1._M_current)->input_section_).p2align_;
          uVar12 = *(type_7 *)&((__first1._M_current)->input_section_).u1_;
          uVar10 = *(type_7 *)((int)&((__first1._M_current)->input_section_).u1_ + 4);
          uVar2 = ((__first1._M_current)->input_section_).section_order_index_;
          var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                    *)(var_9->section_name_)._M_dataplus._M_p;
          (var_9->input_section_).shndx_ = ((__first1._M_current)->input_section_).shndx_;
          (var_9->input_section_).p2align_ = uVar14;
          *(type_7 *)&(var_9->input_section_).u1_ = uVar12;
          *(type_7 *)((int)&(var_9->input_section_).u1_ + 4) = uVar10;
          (var_9->input_section_).u2_ = aVar7;
          (var_9->input_section_).section_order_index_ = uVar2;
          var_13 = ((__first1._M_current)->section_name_)._M_dataplus._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
               *)var_13 == var_6) {
            var_8 = ((__first1._M_current)->section_name_)._M_string_length;
            if (var_8 != 0) {
              if (var_8 == 1) {
                var_5->_M_local_buf[0] =
                     ((__first1._M_current)->section_name_).field_2._M_local_buf[0];
                var_8 = ((__first1._M_current)->section_name_)._M_string_length;
                var_13 = (var_9->section_name_)._M_dataplus._M_p;
                (var_9->section_name_)._M_string_length = var_8;
                var_13[var_8] = '\0';
                var_6 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                          *)((__first1._M_current)->section_name_)._M_dataplus._M_p;
                goto LAB_002190b8;
              }
              (*(type_10 *)PTR_memcpy_00436788)();
              var_8 = ((__first1._M_current)->section_name_)._M_string_length;
              var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                        *)(var_9->section_name_)._M_dataplus._M_p;
            }
            (var_9->section_name_)._M_string_length = var_8;
            var_5->_M_local_buf[var_8] = '\0';
            var_6 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                      *)((__first1._M_current)->section_name_)._M_dataplus._M_p;
          }
          else {
            (var_9->section_name_)._M_dataplus._M_p = var_13;
            if (var_5 == &(var_9->section_name_).field_2) {
              (var_9->section_name_)._M_string_length =
                   ((__first1._M_current)->section_name_)._M_string_length;
              (var_9->section_name_).field_2._M_allocated_capacity =
                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;
            }
            else {
              var_8 = (var_9->section_name_).field_2._M_allocated_capacity;
              (var_9->section_name_)._M_string_length =
                   ((__first1._M_current)->section_name_)._M_string_length;
              (var_9->section_name_).field_2._M_allocated_capacity =
                   ((__first1._M_current)->section_name_).field_2._M_allocated_capacity;
              if (var_5 != (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                             *)0x0) {
                ((__first1._M_current)->section_name_)._M_dataplus._M_p = (type_6)var_5;
                ((__first1._M_current)->section_name_).field_2._M_allocated_capacity = var_8;
                var_6 = var_5;
                goto LAB_002190b8;
              }
            }
            ((__first1._M_current)->section_name_)._M_dataplus._M_p = (type_6)var_6;
          }
LAB_002190b8:
          ((__first1._M_current)->section_name_)._M_string_length = 0;
          var_6->_M_local_buf[0] = '\0';
          uVar10 = *(type_7 *)&(__first1._M_current)->size_;
          *(int *)((int)&var_9->size_ + 4) = (int)(__first1._M_current)->size_;
          *(type_7 *)&var_9->size_ = uVar10;
          uVar10 = *(type_7 *)&(__first1._M_current)->addralign_;
          *(int *)((int)&var_9->addralign_ + 4) = (int)(__first1._M_current)->addralign_;
          *(type_7 *)&var_9->addralign_ = uVar10;
          __first1._M_current = __first1._M_current + 1;
        }
        else {
          aVar7 = ((__first2._M_current)->input_section_).u2_;
          var_6 = &((__first2._M_current)->section_name_).field_2;
          uVar14 = ((__first2._M_current)->input_section_).p2align_;
          uVar12 = *(type_7 *)&((__first2._M_current)->input_section_).u1_;
          uVar10 = *(type_7 *)((int)&((__first2._M_current)->input_section_).u1_ + 4);
          uVar2 = ((__first2._M_current)->input_section_).section_order_index_;
          var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                    *)(var_9->section_name_)._M_dataplus._M_p;
          (var_9->input_section_).shndx_ = ((__first2._M_current)->input_section_).shndx_;
          (var_9->input_section_).p2align_ = uVar14;
          *(type_7 *)&(var_9->input_section_).u1_ = uVar12;
          *(type_7 *)((int)&(var_9->input_section_).u1_ + 4) = uVar10;
          (var_9->input_section_).u2_ = aVar7;
          (var_9->input_section_).section_order_index_ = uVar2;
          var_13 = ((__first2._M_current)->section_name_)._M_dataplus._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
               *)var_13 == var_6) {
            var_8 = ((__first2._M_current)->section_name_)._M_string_length;
            if (var_8 != 0) {
              if (var_8 == 1) {
                var_5->_M_local_buf[0] =
                     ((__first2._M_current)->section_name_).field_2._M_local_buf[0];
                var_8 = ((__first2._M_current)->section_name_)._M_string_length;
                var_13 = (var_9->section_name_)._M_dataplus._M_p;
                (var_9->section_name_)._M_string_length = var_8;
                var_13[var_8] = '\0';
                var_6 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                          *)((__first2._M_current)->section_name_)._M_dataplus._M_p;
                goto LAB_00218ff4;
              }
              (*(type_10 *)PTR_memcpy_00436788)();
              var_8 = ((__first2._M_current)->section_name_)._M_string_length;
              var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                        *)(var_9->section_name_)._M_dataplus._M_p;
            }
            (var_9->section_name_)._M_string_length = var_8;
            var_5->_M_local_buf[var_8] = '\0';
            var_6 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                      *)((__first2._M_current)->section_name_)._M_dataplus._M_p;
          }
          else {
            (var_9->section_name_)._M_dataplus._M_p = var_13;
            if (var_5 == &(var_9->section_name_).field_2) {
              (var_9->section_name_)._M_string_length =
                   ((__first2._M_current)->section_name_)._M_string_length;
              (var_9->section_name_).field_2._M_allocated_capacity =
                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;
            }
            else {
              var_8 = (var_9->section_name_).field_2._M_allocated_capacity;
              (var_9->section_name_)._M_string_length =
                   ((__first2._M_current)->section_name_)._M_string_length;
              (var_9->section_name_).field_2._M_allocated_capacity =
                   ((__first2._M_current)->section_name_).field_2._M_allocated_capacity;
              if (var_5 != (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                             *)0x0) {
                ((__first2._M_current)->section_name_)._M_dataplus._M_p = (type_6)var_5;
                ((__first2._M_current)->section_name_).field_2._M_allocated_capacity = var_8;
                var_6 = var_5;
                goto LAB_00218ff4;
              }
            }
            ((__first2._M_current)->section_name_)._M_dataplus._M_p = (type_6)var_6;
          }
LAB_00218ff4:
          ((__first2._M_current)->section_name_)._M_string_length = 0;
          var_6->_M_local_buf[0] = '\0';
          uVar10 = *(type_7 *)&(__first2._M_current)->size_;
          *(int *)((int)&var_9->size_ + 4) = (int)(__first2._M_current)->size_;
          *(type_7 *)&var_9->size_ = uVar10;
          uVar10 = *(type_7 *)&(__first2._M_current)->addralign_;
          *(int *)((int)&var_9->addralign_ + 4) = (int)(__first2._M_current)->addralign_;
          *(type_7 *)&var_9->addralign_ = uVar10;
          __first2._M_current = __first2._M_current + 1;
        }
        __result = var_9 + 1;
        if (__first1._M_current == __last1._M_current) goto LAB_002190ec;
        __result = var_9 + 1;
        var_10 = -(int)__first1._M_current;
        var_9 = __result;
      } while (__first2._M_current != __last2._M_current);
    }
    var_10 = (int)&((__last1._M_current)->input_section_).shndx_ + var_10;
    var_14 = var_10 >> 6;
    if (0 < var_10) {
      var_9 = __result;
      var_6 = &((__first1._M_current)->section_name_).field_2;
      do {
        sVar13 = *(type_3 *)((int)var_6 + -0x1c);
        sVar11 = *(type_3 *)((int)var_6 + -0x18);
        sVar9 = *(type_3 *)((int)var_6 + -0x14);
        aVar7 = *(type_5 *)(var_6 + -1);
        var_8 = *(type_3 *)((int)var_6 + -0xc);
        var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                  *)(var_9->section_name_)._M_dataplus._M_p;
        (var_9->input_section_).shndx_ = var_6[-2]._M_allocated_capacity;
        (var_9->input_section_).p2align_ = sVar13;
        *(type_3 *)&(var_9->input_section_).u1_ = sVar11;
        *(type_3 *)((int)&(var_9->input_section_).u1_ + 4) = sVar9;
        (var_9->input_section_).u2_ = aVar7;
        (var_9->input_section_).section_order_index_ = var_8;
        var_7 = (type_3 *)(((type_9 *)((int)var_6 + -8))->_M_dataplus)._M_p;
        if (var_6 == (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                       *)var_7) {
          var_8 = *(type_3 *)((int)var_6 + -4);
          if (var_8 != 0) {
            if (var_8 == 1) {
              var_5->_M_local_buf[0] = var_6->_M_local_buf[0];
              var_8 = *(type_3 *)((int)var_6 + -4);
              var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                        *)(var_9->section_name_)._M_dataplus._M_p;
            }
            else {
              (*(type_10 *)PTR_memcpy_00436788)(var_5,var_6);
              var_8 = *(type_3 *)((int)var_6 + -4);
              var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                        *)(var_9->section_name_)._M_dataplus._M_p;
            }
          }
          (var_9->section_name_)._M_string_length = var_8;
          var_5->_M_local_buf[var_8] = '\0';
          var_5 = (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                    *)var_7[-2];
        }
        else {
          (var_9->section_name_)._M_dataplus._M_p = (type_6)var_7;
          if (var_5 == &(var_9->section_name_).field_2) {
            (var_9->section_name_)._M_string_length = *(type_3 *)((int)var_6 + -4);
            (var_9->section_name_).field_2._M_allocated_capacity = var_6->_M_allocated_capacity;
          }
          else {
            var_8 = (var_9->section_name_).field_2._M_allocated_capacity;
            (var_9->section_name_)._M_string_length = *(type_3 *)((int)var_6 + -4);
            (var_9->section_name_).field_2._M_allocated_capacity = var_6->_M_allocated_capacity;
            if (var_5 != (anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
                           *)0x0) {
              (((type_9 *)((int)var_6 + -8))->_M_dataplus)._M_p = (type_6)var_5;
              var_6->_M_allocated_capacity = var_8;
              goto LAB_00219384;
            }
          }
          (((type_9 *)((int)var_6 + -8))->_M_dataplus)._M_p = (type_6)var_6;
          var_5 = var_6;
        }
LAB_00219384:
        *(type_3 *)((int)var_6 + -4) = 0;
        __result = var_9 + 1;
        var_5->_M_local_buf[0] = '\0';
        var_14 = var_14 + -1;
        var_8 = var_6[1]._M_allocated_capacity;
        *(type_3 *)((int)&var_9->size_ + 4) = *(type_3 *)((int)var_6 + 0x14);
        *(type_3 *)&var_9->size_ = var_8;
        var_8 = *(type_3 *)((int)var_6 + 0x18);
        *(type_3 *)((int)&var_9->addralign_ + 4) = *(type_3 *)((int)var_6 + 0x1c);
        *(type_3 *)&var_9->addralign_ = var_8;
        var_9 = __result;
        var_6 = var_6 + 4;
      } while (var_14 != 0);
    }
  }
  return __result;
}


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

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* gold::Input_section_info* std::__move_merge<__normal_iterator<gold::Input_section_info*,
   std::vector<gold::Input_section_info, std::allocator<gold::Input_section_info> > >,
   gold::Input_section_info*, __ops::_Iter_comp_iter<gold::Input_section_sorter>
   >(__normal_iterator<gold::Input_section_info*, std::vector<gold::Input_section_info,
   std::allocator<gold::Input_section_info> > >, __normal_iterator<gold::Input_section_info*,
   std::vector<gold::Input_section_info, std::allocator<gold::Input_section_info> > >,
   __normal_iterator<gold::Input_section_info*, std::vector<gold::Input_section_info,
   std::allocator<gold::Input_section_info> > >, __normal_iterator<gold::Input_section_info*,
   std::vector<gold::Input_section_info, std::allocator<gold::Input_section_info> > >,
   gold::Input_section_info*, __ops::_Iter_comp_iter<gold::Input_section_sorter>) */

Input_section_info *
std::
MASKED
          (Input_section_info *param_1,Input_section_info *param_2,Input_section_info *param_3,
          Input_section_info *param_4,Input_section_info *param_5)

{
  int iVar1;
  Input_section_info *pIVar2;
  undefined4 uVar3;
  Input_section_info *pIVar4;
  undefined1 *puVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  int iVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  Input_section_info *pIVar11;
  Input_section_info *pIVar12;
  Input_section_info *pIVar13;
  
  if (param_1 == param_2) {
LAB_002190ec:
    iVar1 = (int)param_4 - (int)param_3 >> 6;
    if (0 < (int)param_4 - (int)param_3) {
      pIVar12 = param_5;
      pIVar2 = param_3 + 0x20;
      do {
        while( true ) {
          uVar10 = *(undefined4 *)(pIVar2 + -0x1c);
          uVar9 = *(undefined4 *)(pIVar2 + -0x18);
          uVar7 = *(undefined4 *)(pIVar2 + -0x14);
          uVar6 = *(undefined4 *)(pIVar2 + -0x10);
          uVar3 = *(undefined4 *)(pIVar2 + -0xc);
          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
          *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);
          *(undefined4 *)(pIVar12 + 4) = uVar10;
          *(undefined4 *)(pIVar12 + 8) = uVar9;
          *(undefined4 *)(pIVar12 + 0xc) = uVar7;
          *(undefined4 *)(pIVar12 + 0x10) = uVar6;
          *(undefined4 *)(pIVar12 + 0x14) = uVar3;
          pIVar13 = *(Input_section_info **)(pIVar2 + -8);
          if (pIVar2 != pIVar13) break;
          iVar8 = *(int *)(pIVar2 + -4);
          if (iVar8 != 0) {
            if (iVar8 == 1) {
              *pIVar4 = *pIVar2;
              iVar8 = *(int *)(pIVar2 + -4);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
            else {
              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);
              iVar8 = *(int *)(pIVar2 + -4);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
          }
          *(int *)(pIVar12 + 0x1c) = iVar8;
          pIVar11 = pIVar12 + 0x40;
          pIVar4[iVar8] = (Input_section_info)0x0;
          iVar1 = iVar1 + -1;
          puVar5 = *(undefined1 **)(pIVar13 + -8);
          *(undefined4 *)(pIVar2 + -4) = 0;
          *puVar5 = 0;
          uVar3 = *(undefined4 *)(pIVar2 + 0x10);
          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);
          *(undefined4 *)(pIVar12 + 0x30) = uVar3;
          uVar3 = *(undefined4 *)(pIVar2 + 0x18);
          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);
          *(undefined4 *)(pIVar12 + 0x38) = uVar3;
          pIVar12 = pIVar11;
          pIVar2 = pIVar2 + 0x40;
          if (iVar1 == 0) {
            return pIVar11;
          }
        }
        *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;
        if (pIVar4 == pIVar12 + 0x20) {
          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);
          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;
LAB_00219478:
          *(Input_section_info **)(pIVar2 + -8) = pIVar2;
          pIVar4 = pIVar2;
        }
        else {
          uVar3 = *(undefined4 *)(pIVar12 + 0x20);
          *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);
          *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;
          if (pIVar4 == (Input_section_info *)0x0) goto LAB_00219478;
          *(Input_section_info **)(pIVar2 + -8) = pIVar4;
          *(undefined4 *)pIVar2 = uVar3;
        }
        *(undefined4 *)(pIVar2 + -4) = 0;
        param_5 = pIVar12 + 0x40;
        *pIVar4 = (Input_section_info)0x0;
        iVar1 = iVar1 + -1;
        uVar3 = *(undefined4 *)(pIVar2 + 0x10);
        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);
        *(undefined4 *)(pIVar12 + 0x30) = uVar3;
        uVar3 = *(undefined4 *)(pIVar2 + 0x18);
        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);
        *(undefined4 *)(pIVar12 + 0x38) = uVar3;
        pIVar12 = param_5;
        pIVar2 = pIVar2 + 0x40;
      } while (iVar1 != 0);
    }
  }
  else {
    if (param_3 == param_4) {
      iVar1 = -(int)param_1;
    }
    else {
      pIVar12 = param_5;
      do {
        iVar1 = gold::Input_section_sorter::operator()
                          ((Input_section_sorter *)&stack0x00000014,param_3,param_1);
        if (iVar1 == 0) {
          uVar6 = *(undefined4 *)(param_1 + 0x10);
          pIVar2 = param_1 + 0x20;
          uVar10 = *(undefined4 *)(param_1 + 4);
          uVar9 = *(undefined4 *)(param_1 + 8);
          uVar7 = *(undefined4 *)(param_1 + 0xc);
          uVar3 = *(undefined4 *)(param_1 + 0x14);
          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
          *(undefined4 *)pIVar12 = *(undefined4 *)param_1;
          *(undefined4 *)(pIVar12 + 4) = uVar10;
          *(undefined4 *)(pIVar12 + 8) = uVar9;
          *(undefined4 *)(pIVar12 + 0xc) = uVar7;
          *(undefined4 *)(pIVar12 + 0x10) = uVar6;
          *(undefined4 *)(pIVar12 + 0x14) = uVar3;
          if (*(Input_section_info **)(param_1 + 0x18) == pIVar2) {
            iVar1 = *(int *)(param_1 + 0x1c);
            if (iVar1 != 0) {
              if (iVar1 == 1) {
                *pIVar4 = param_1[0x20];
                iVar1 = *(int *)(param_1 + 0x1c);
                *(int *)(pIVar12 + 0x1c) = iVar1;
                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;
                pIVar2 = *(Input_section_info **)(param_1 + 0x18);
                goto LAB_002190b8;
              }
              (*(code *)PTR_memcpy_00436788)();
              iVar1 = *(int *)(param_1 + 0x1c);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
            *(int *)(pIVar12 + 0x1c) = iVar1;
            pIVar4[iVar1] = (Input_section_info)0x0;
            pIVar2 = *(Input_section_info **)(param_1 + 0x18);
          }
          else {
            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_1 + 0x18);
            if (pIVar4 == pIVar12 + 0x20) {
              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);
              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);
            }
            else {
              uVar3 = *(undefined4 *)(pIVar12 + 0x20);
              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_1 + 0x1c);
              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_1 + 0x20);
              if (pIVar4 != (Input_section_info *)0x0) {
                *(Input_section_info **)(param_1 + 0x18) = pIVar4;
                *(undefined4 *)(param_1 + 0x20) = uVar3;
                pIVar2 = pIVar4;
                goto LAB_002190b8;
              }
            }
            *(Input_section_info **)(param_1 + 0x18) = pIVar2;
          }
LAB_002190b8:
          *(undefined4 *)(param_1 + 0x1c) = 0;
          *pIVar2 = (Input_section_info)0x0;
          uVar3 = *(undefined4 *)(param_1 + 0x30);
          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_1 + 0x34);
          *(undefined4 *)(pIVar12 + 0x30) = uVar3;
          uVar3 = *(undefined4 *)(param_1 + 0x38);
          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_1 + 0x3c);
          *(undefined4 *)(pIVar12 + 0x38) = uVar3;
          param_1 = param_1 + 0x40;
        }
        else {
          uVar6 = *(undefined4 *)(param_3 + 0x10);
          pIVar2 = param_3 + 0x20;
          uVar10 = *(undefined4 *)(param_3 + 4);
          uVar9 = *(undefined4 *)(param_3 + 8);
          uVar7 = *(undefined4 *)(param_3 + 0xc);
          uVar3 = *(undefined4 *)(param_3 + 0x14);
          pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
          *(undefined4 *)pIVar12 = *(undefined4 *)param_3;
          *(undefined4 *)(pIVar12 + 4) = uVar10;
          *(undefined4 *)(pIVar12 + 8) = uVar9;
          *(undefined4 *)(pIVar12 + 0xc) = uVar7;
          *(undefined4 *)(pIVar12 + 0x10) = uVar6;
          *(undefined4 *)(pIVar12 + 0x14) = uVar3;
          if (*(Input_section_info **)(param_3 + 0x18) == pIVar2) {
            iVar1 = *(int *)(param_3 + 0x1c);
            if (iVar1 != 0) {
              if (iVar1 == 1) {
                *pIVar4 = param_3[0x20];
                iVar1 = *(int *)(param_3 + 0x1c);
                *(int *)(pIVar12 + 0x1c) = iVar1;
                *(undefined1 *)(*(int *)(pIVar12 + 0x18) + iVar1) = 0;
                pIVar2 = *(Input_section_info **)(param_3 + 0x18);
                goto LAB_00218ff4;
              }
              (*(code *)PTR_memcpy_00436788)();
              iVar1 = *(int *)(param_3 + 0x1c);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
            *(int *)(pIVar12 + 0x1c) = iVar1;
            pIVar4[iVar1] = (Input_section_info)0x0;
            pIVar2 = *(Input_section_info **)(param_3 + 0x18);
          }
          else {
            *(Input_section_info **)(pIVar12 + 0x18) = *(Input_section_info **)(param_3 + 0x18);
            if (pIVar4 == pIVar12 + 0x20) {
              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);
              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);
            }
            else {
              uVar3 = *(undefined4 *)(pIVar12 + 0x20);
              *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(param_3 + 0x1c);
              *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)(param_3 + 0x20);
              if (pIVar4 != (Input_section_info *)0x0) {
                *(Input_section_info **)(param_3 + 0x18) = pIVar4;
                *(undefined4 *)(param_3 + 0x20) = uVar3;
                pIVar2 = pIVar4;
                goto LAB_00218ff4;
              }
            }
            *(Input_section_info **)(param_3 + 0x18) = pIVar2;
          }
LAB_00218ff4:
          *(undefined4 *)(param_3 + 0x1c) = 0;
          *pIVar2 = (Input_section_info)0x0;
          uVar3 = *(undefined4 *)(param_3 + 0x30);
          *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(param_3 + 0x34);
          *(undefined4 *)(pIVar12 + 0x30) = uVar3;
          uVar3 = *(undefined4 *)(param_3 + 0x38);
          *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(param_3 + 0x3c);
          *(undefined4 *)(pIVar12 + 0x38) = uVar3;
          param_3 = param_3 + 0x40;
        }
        param_5 = pIVar12 + 0x40;
        if (param_1 == param_2) goto LAB_002190ec;
        param_5 = pIVar12 + 0x40;
        iVar1 = -(int)param_1;
        pIVar12 = param_5;
      } while (param_3 != param_4);
    }
    iVar8 = (int)(param_2 + iVar1) >> 6;
    if (0 < (int)(param_2 + iVar1)) {
      pIVar12 = param_5;
      pIVar2 = param_1 + 0x20;
      do {
        uVar10 = *(undefined4 *)(pIVar2 + -0x1c);
        uVar9 = *(undefined4 *)(pIVar2 + -0x18);
        uVar7 = *(undefined4 *)(pIVar2 + -0x14);
        uVar6 = *(undefined4 *)(pIVar2 + -0x10);
        uVar3 = *(undefined4 *)(pIVar2 + -0xc);
        pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
        *(undefined4 *)pIVar12 = *(undefined4 *)(pIVar2 + -0x20);
        *(undefined4 *)(pIVar12 + 4) = uVar10;
        *(undefined4 *)(pIVar12 + 8) = uVar9;
        *(undefined4 *)(pIVar12 + 0xc) = uVar7;
        *(undefined4 *)(pIVar12 + 0x10) = uVar6;
        *(undefined4 *)(pIVar12 + 0x14) = uVar3;
        pIVar13 = *(Input_section_info **)(pIVar2 + -8);
        if (pIVar2 == pIVar13) {
          iVar1 = *(int *)(pIVar2 + -4);
          if (iVar1 != 0) {
            if (iVar1 == 1) {
              *pIVar4 = *pIVar2;
              iVar1 = *(int *)(pIVar2 + -4);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
            else {
              (*(code *)PTR_memcpy_00436788)(pIVar4,pIVar2);
              iVar1 = *(int *)(pIVar2 + -4);
              pIVar4 = *(Input_section_info **)(pIVar12 + 0x18);
            }
          }
          *(int *)(pIVar12 + 0x1c) = iVar1;
          pIVar4[iVar1] = (Input_section_info)0x0;
          pIVar4 = *(Input_section_info **)(pIVar13 + -8);
        }
        else {
          *(Input_section_info **)(pIVar12 + 0x18) = pIVar13;
          if (pIVar4 == pIVar12 + 0x20) {
            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);
            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;
          }
          else {
            uVar3 = *(undefined4 *)(pIVar12 + 0x20);
            *(undefined4 *)(pIVar12 + 0x1c) = *(undefined4 *)(pIVar2 + -4);
            *(undefined4 *)(pIVar12 + 0x20) = *(undefined4 *)pIVar2;
            if (pIVar4 != (Input_section_info *)0x0) {
              *(Input_section_info **)(pIVar2 + -8) = pIVar4;
              *(undefined4 *)pIVar2 = uVar3;
              goto LAB_00219384;
            }
          }
          *(Input_section_info **)(pIVar2 + -8) = pIVar2;
          pIVar4 = pIVar2;
        }
LAB_00219384:
        *(undefined4 *)(pIVar2 + -4) = 0;
        param_5 = pIVar12 + 0x40;
        *pIVar4 = (Input_section_info)0x0;
        iVar8 = iVar8 + -1;
        uVar3 = *(undefined4 *)(pIVar2 + 0x10);
        *(undefined4 *)(pIVar12 + 0x34) = *(undefined4 *)(pIVar2 + 0x14);
        *(undefined4 *)(pIVar12 + 0x30) = uVar3;
        uVar3 = *(undefined4 *)(pIVar2 + 0x18);
        *(undefined4 *)(pIVar12 + 0x3c) = *(undefined4 *)(pIVar2 + 0x1c);
        *(undefined4 *)(pIVar12 + 0x38) = uVar3;
        pIVar12 = param_5;
        pIVar2 = pIVar2 + 0x40;
      } while (iVar8 != 0);
    }
  }
  return param_5;
}

