
/* 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:
   __push_heap<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section_sort_entry*,
   std::vector<gold::Output_section::Input_section_sort_entry> >, int,
   gold::Output_section::Input_section_sort_entry,
   __gnu_cxx::__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare> > */

void std::
     __push_heap<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section_sort_entry*,_std::vector<gold::Output_section::Input_section_sort_entry>_>,_int,_gold::Output_section::Input_section_sort_entry,___gnu_cxx::__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>_>
               (__normal_iterator<gold::Output_section::Input_section_sort_entry*,_std::vector<gold::Output_section::Input_section_sort_entry,_std::allocator<gold::Output_section::Input_section_sort_entry>_>_>
                __first,int __holeIndex,int __topIndex,Input_section_sort_entry *__value,
               _Iter_comp_val<gold::Output_section::Input_section_sort_compare> *__comp)

{
  int iVar1;
  code *pcVar2;
  uint uVar3;
  pointer pcVar4;
  size_type sVar5;
  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;
  undefined4 uVar9;
  size_type sVar10;
  undefined4 uVar11;
  size_type sVar12;
  uint uVar13;
  uint uVar14;
  Input_section_sort_entry *pIVar15;
  Input_section_sort_entry *pIVar16;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar17;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar18;
  int iVar19;
  int in_t9;
  int iVar20;
  
  iVar1 = __holeIndex + -1;
  iVar20 = __holeIndex * 8;
  paVar18 = &__first._M_current[__holeIndex].section_name_.field_2;
  pIVar16 = __first._M_current + __holeIndex;
  if (__topIndex < __holeIndex) {
    pcVar2 = *(code **)(in_t9 + 0x25fe38);
    paVar17 = paVar18;
    while( true ) {
      iVar19 = iVar1 / 2;
      pIVar15 = __first._M_current + iVar19;
      pIVar16 = __first._M_current + (iVar20 - __holeIndex) * 8;
      iVar1 = (*pcVar2)(__comp,pIVar15,__value);
      paVar18 = paVar17;
      if (iVar1 == 0) break;
      paVar18 = &(pIVar15->section_name_).field_2;
      uVar13 = (pIVar15->input_section_).p2align_;
      uVar11 = *(undefined4 *)&(pIVar15->input_section_).u1_;
      uVar9 = *(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4);
      aVar7 = (pIVar15->input_section_).u2_;
      uVar3 = (pIVar15->input_section_).shndx_;
      (pIVar16->input_section_).section_order_index_ =
           (pIVar15->input_section_).section_order_index_;
      (pIVar16->input_section_).p2align_ = uVar13;
      *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11;
      *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;
      (pIVar16->input_section_).u2_ = aVar7;
      (pIVar16->input_section_).shndx_ = uVar3;
      paVar6 = (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->index_ = pIVar15->index_;
      pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)pcVar4 == paVar18) {
        sVar10 = (pIVar15->section_name_)._M_string_length;
        if (sVar10 == 0) {
LAB_002646cc:
          (pIVar16->section_name_)._M_string_length = sVar10;
          paVar6->_M_local_buf[sVar10] = '\0';
          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;
        }
        else {
          if (sVar10 != 1) {
            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);
            sVar10 = (pIVar15->section_name_)._M_string_length;
            paVar6 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                      *)(pIVar16->section_name_)._M_dataplus._M_p;
            goto LAB_002646cc;
          }
          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];
          sVar10 = (pIVar15->section_name_)._M_string_length;
          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;
          (pIVar16->section_name_)._M_string_length = sVar10;
          pcVar4[sVar10] = '\0';
          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;
        }
        (pIVar15->section_name_)._M_string_length = 0;
        *pcVar4 = '\0';
      }
      else {
        (pIVar16->section_name_)._M_dataplus._M_p = pcVar4;
        if (paVar6 == paVar17) {
          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;
          (pIVar16->section_name_).field_2._M_allocated_capacity =
               (pIVar15->section_name_).field_2._M_allocated_capacity;
LAB_002647c0:
          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;
          paVar6 = paVar18;
        }
        else {
          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;
          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;
          (pIVar16->section_name_).field_2._M_allocated_capacity =
               (pIVar15->section_name_).field_2._M_allocated_capacity;
          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                         *)0x0) goto LAB_002647c0;
          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;
          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;
        }
        (pIVar15->section_name_)._M_string_length = 0;
        paVar6->_M_local_buf[0] = '\0';
      }
      pIVar16 = pIVar15;
      if (iVar19 <= __topIndex) break;
      iVar1 = iVar19 + -1;
      iVar20 = iVar19 << 3;
      paVar17 = paVar18;
      __holeIndex = iVar19;
    }
  }
  aVar7 = (__value->input_section_).u2_;
  paVar17 = &(__value->section_name_).field_2;
  uVar13 = (__value->input_section_).section_order_index_;
  uVar14 = (__value->input_section_).p2align_;
  uVar11 = *(undefined4 *)&(__value->input_section_).u1_;
  uVar9 = *(undefined4 *)((int)&(__value->input_section_).u1_ + 4);
  uVar3 = __value->index_;
  pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;
  (pIVar16->input_section_).shndx_ = (__value->input_section_).shndx_;
  (pIVar16->input_section_).p2align_ = uVar14;
  *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11;
  *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;
  (pIVar16->input_section_).u2_ = aVar7;
  (pIVar16->input_section_).section_order_index_ = uVar13;
  pIVar16->index_ = uVar3;
  pcVar8 = (__value->section_name_)._M_dataplus._M_p;
  sVar10 = (__value->section_name_)._M_string_length;
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)pcVar8 == paVar17) {
    if (sVar10 != 0) {
      if (sVar10 == 1) {
        *pcVar4 = (__value->section_name_).field_2._M_local_buf[0];
        sVar10 = (__value->section_name_)._M_string_length;
        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;
      }
      else {
        (**(code **)(in_t9 + 0x261668))();
        sVar10 = (__value->section_name_)._M_string_length;
        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;
      }
    }
    (pIVar16->section_name_)._M_string_length = sVar10;
    pcVar4[sVar10] = '\0';
    (__value->section_name_)._M_string_length = 0;
    *(__value->section_name_)._M_dataplus._M_p = '\0';
    return;
  }
  sVar5 = (__value->section_name_).field_2._M_allocated_capacity;
  if (paVar18 ==
      (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)pcVar4) {
    (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;
    (pIVar16->section_name_)._M_string_length = sVar10;
    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;
  }
  else {
    sVar12 = (pIVar16->section_name_).field_2._M_allocated_capacity;
    (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;
    (pIVar16->section_name_)._M_string_length = sVar10;
    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;
    if (pcVar4 != (pointer)0x0) {
      (__value->section_name_)._M_dataplus._M_p = pcVar4;
      (__value->section_name_).field_2._M_allocated_capacity = sVar12;
      (__value->section_name_)._M_string_length = 0;
      *pcVar4 = '\0';
      return;
    }
  }
  (__value->section_name_)._M_dataplus._M_p = (pointer)paVar17;
  (__value->section_name_)._M_string_length = 0;
  paVar17->_M_local_buf[0] = '\0';
  return;
}



/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* void std::__push_heap<__normal_iterator<gold::Output_section::Input_section_sort_entry*,
   std::vector<gold::Output_section::Input_section_sort_entry,
   std::allocator<gold::Output_section::Input_section_sort_entry> > >, int,
   gold::Output_section::Input_section_sort_entry,
   __ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>
   >(__normal_iterator<gold::Output_section::Input_section_sort_entry*,
   std::vector<gold::Output_section::Input_section_sort_entry,
   std::allocator<gold::Output_section::Input_section_sort_entry> > >, int, int,
   gold::Output_section::Input_section_sort_entry,
   __ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>&) */

void std::
     __push_heap<__normal_iterator<gold::Output_section::Input_section_sort_entry*,std::vector<gold::Output_section::Input_section_sort_entry,std::allocator<gold::Output_section::Input_section_sort_entry>>>,int,gold::Output_section::Input_section_sort_entry,__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>>
               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)

{
  int iVar1;
  code *pcVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  undefined1 *puVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined4 *puVar11;
  undefined4 *puVar12;
  undefined4 *puVar13;
  undefined4 *puVar14;
  int iVar15;
  int in_t9;
  int iVar16;
  
  iVar1 = param_2 + -1;
  iVar16 = param_2 * 8;
  puVar12 = (undefined4 *)(param_1 + param_2 * 0x38);
  puVar14 = puVar12 + 9;
  if (param_3 < param_2) {
    pcVar2 = *(code **)(in_t9 + 0x25fe38);
    puVar13 = puVar14;
    while( true ) {
      iVar15 = iVar1 / 2;
      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);
      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);
      iVar1 = (*pcVar2)(param_5,puVar11,param_4);
      puVar14 = puVar13;
      if (iVar1 == 0) break;
      puVar14 = puVar11 + 9;
      uVar9 = puVar11[1];
      uVar8 = puVar11[2];
      uVar7 = puVar11[3];
      uVar6 = puVar11[4];
      uVar3 = *puVar11;
      puVar12[5] = puVar11[5];
      puVar12[1] = uVar9;
      puVar12[2] = uVar8;
      puVar12[3] = uVar7;
      puVar12[4] = uVar6;
      *puVar12 = uVar3;
      puVar4 = (undefined4 *)puVar12[7];
      puVar12[6] = puVar11[6];
      if ((undefined4 *)puVar11[7] == puVar14) {
        iVar1 = puVar11[8];
        if (iVar1 == 0) {
LAB_002646cc:
          puVar12[8] = iVar1;
          *(undefined1 *)((int)puVar4 + iVar1) = 0;
          puVar5 = (undefined1 *)puVar11[7];
        }
        else {
          if (iVar1 != 1) {
            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);
            iVar1 = puVar11[8];
            puVar4 = (undefined4 *)puVar12[7];
            goto LAB_002646cc;
          }
          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);
          iVar1 = puVar11[8];
          puVar12[8] = iVar1;
          *(undefined1 *)(puVar12[7] + iVar1) = 0;
          puVar5 = (undefined1 *)puVar11[7];
        }
        puVar11[8] = 0;
        *puVar5 = 0;
      }
      else {
        puVar12[7] = (undefined4 *)puVar11[7];
        if (puVar4 == puVar13) {
          puVar12[8] = puVar11[8];
          puVar12[9] = puVar11[9];
LAB_002647c0:
          puVar11[7] = puVar14;
          puVar4 = puVar14;
        }
        else {
          uVar3 = puVar12[9];
          puVar12[8] = puVar11[8];
          puVar12[9] = puVar11[9];
          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;
          puVar11[7] = puVar4;
          puVar11[9] = uVar3;
        }
        puVar11[8] = 0;
        *(undefined1 *)puVar4 = 0;
      }
      puVar12 = puVar11;
      if (iVar15 <= param_3) break;
      iVar1 = iVar15 + -1;
      iVar16 = iVar15 << 3;
      puVar13 = puVar14;
      param_2 = iVar15;
    }
  }
  uVar7 = param_4[4];
  puVar13 = param_4 + 9;
  uVar6 = param_4[5];
  uVar10 = param_4[1];
  uVar9 = param_4[2];
  uVar8 = param_4[3];
  uVar3 = param_4[6];
  puVar11 = (undefined4 *)puVar12[7];
  *puVar12 = *param_4;
  puVar12[1] = uVar10;
  puVar12[2] = uVar9;
  puVar12[3] = uVar8;
  puVar12[4] = uVar7;
  puVar12[5] = uVar6;
  puVar12[6] = uVar3;
  puVar4 = (undefined4 *)param_4[7];
  iVar1 = param_4[8];
  if (puVar4 == puVar13) {
    if (iVar1 != 0) {
      if (iVar1 == 1) {
        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);
        iVar1 = param_4[8];
        puVar11 = (undefined4 *)puVar12[7];
      }
      else {
        (**(code **)(in_t9 + 0x261668))();
        iVar1 = param_4[8];
        puVar11 = (undefined4 *)puVar12[7];
      }
    }
    puVar12[8] = iVar1;
    *(undefined1 *)((int)puVar11 + iVar1) = 0;
    param_4[8] = 0;
    *(undefined1 *)param_4[7] = 0;
    return;
  }
  uVar3 = param_4[9];
  if (puVar14 == puVar11) {
    puVar12[7] = puVar4;
    puVar12[8] = iVar1;
    puVar12[9] = uVar3;
  }
  else {
    uVar6 = puVar12[9];
    puVar12[7] = puVar4;
    puVar12[8] = iVar1;
    puVar12[9] = uVar3;
    if (puVar11 != (undefined4 *)0x0) {
      param_4[7] = puVar11;
      param_4[9] = uVar6;
      param_4[8] = 0;
      *(undefined1 *)puVar11 = 0;
      return;
    }
  }
  param_4[7] = puVar13;
  param_4[8] = 0;
  *(undefined1 *)puVar13 = 0;
  return;
}


lui gp,0x26
addiu gp,gp,0x4d00
addu gp,gp,t9
addiu sp,sp,-0x48
addiu v0,a1,-0x1
sw s8,0x40(sp)
sll s8,a1,0x3
sw s1,0x24(sp)
subu s1,s8,a1
sw s7,0x3c(sp)
srl s7,v0,0x1f
sw gp,0x10(sp)
sll s1,s1,0x3
sw s6,0x38(sp)
addu s7,s7,v0
sw s2,0x28(sp)
addu s1,a0,s1
sw ra,0x44(sp)
slt v0,a2,a1
sw s5,0x34(sp)
sw s4,0x30(sp)
or s6,a3,zero
sw s3,0x2c(sp)
addiu s2,s1,0x24
beq v0,zero,0x00264708
_sw s0,0x20(sp)
lw v0,-0x4ec8(gp)
or s4,a1,zero
or s5,a0,zero
or s3,a2,zero
sra s7,s7,0x1
b 0x00264618
_sw v0,0x18(sp)
beq a0,s2,0x002647b0
_sw v0,0x1c(s1)
lw a1,0x20(s0)
lw v0,0x24(s1)
sw a1,0x20(s1)
lw a1,0x24(s0)
beq a0,zero,0x002647c0
_sw a1,0x24(s1)
sw a0,0x1c(s0)
sw v0,0x24(s0)
addiu a1,s7,-0x1
sw zero,0x20(s0)
slt a2,s3,s7
sb zero,0x0(a0)
srl v0,a1,0x1f
or s4,s7,zero
addu s7,v0,a1
beq a2,zero,0x00264700
_sra s7,s7,0x1
sll s8,s4,0x3
or s2,t1,zero
sll s0,s7,0x3
lw a0,0x58(sp)
lw t9,0x18(sp)
subu s1,s8,s4
subu s0,s0,s7
or a2,s6,zero
sll s0,s0,0x3
sll s1,s1,0x3
addu s0,s5,s0
addu s1,s5,s1
jalr t9
_or a1,s0,zero
beq v0,zero,0x00264708
_lw gp,0x10(sp)
lw a0,0x14(s0)
addiu t1,s0,0x24
lw t2,0x4(s0)
lw t0,0x8(s0)
lw a2,0xc(s0)
lw a1,0x10(s0)
lw v0,0x0(s0)
sw a0,0x14(s1)
sw t2,0x4(s1)
sw t0,0x8(s1)
sw a2,0xc(s1)
sw a1,0x10(s1)
sw v0,0x0(s1)
lw v0,0x18(s0)
lw a0,0x1c(s1)
sw v0,0x18(s1)
lw v0,0x1c(s0)
bne v0,t1,0x002645c4
_nop
lw a2,0x20(s0)
beq a2,zero,0x002646cc
_li v0,0x1
beq a2,v0,0x00264818
_lw t9,-0x3698(gp)
or a1,t1,zero
jalr t9
_sw t1,0x1c(sp)
lw gp,0x10(sp)
lw a2,0x20(s0)
lw a0,0x1c(s1)
lw t1,0x1c(sp)
addu a0,a0,a2
sw a2,0x20(s1)
sb zero,0x0(a0)
lw a0,0x1c(s0)
addiu a1,s7,-0x1
sw zero,0x20(s0)
slt a2,s3,s7
sb zero,0x0(a0)
srl v0,a1,0x1f
or s4,s7,zero
addu s7,v0,a1
bne a2,zero,0x00264610
_sra s7,s7,0x1
or s2,t1,zero
or s1,s0,zero
lw a2,0x10(s6)
addiu v0,s6,0x24
lw a1,0x14(s6)
lw t3,0x0(s6)
lw t2,0x4(s6)
lw t1,0x8(s6)
lw t0,0xc(s6)
lw v1,0x18(s6)
lw a0,0x1c(s1)
sw t3,0x0(s1)
sw t2,0x4(s1)
sw t1,0x8(s1)
sw t0,0xc(s1)
sw a2,0x10(s1)
sw a1,0x14(s1)
sw v1,0x18(s1)
lw a1,0x1c(s6)
beq a1,v0,0x0026483c
_lw a2,0x20(s6)
beq s2,a0,0x002647cc
_lw v1,0x24(s6)
lw t0,0x24(s1)
sw a1,0x1c(s1)
sw a2,0x20(s1)
beq a0,zero,0x002647d8
_sw v1,0x24(s1)
sw a0,0x1c(s6)
sw t0,0x24(s6)
sw zero,0x20(s6)
sb zero,0x0(a0)
lw ra,0x44(sp)
lw s8,0x40(sp)
lw s7,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x48
lw v0,0x20(s0)
sw v0,0x20(s1)
lw v0,0x24(s0)
sw v0,0x24(s1)
sw t1,0x1c(s0)
b 0x002645ec
_or a0,t1,zero
sw a1,0x1c(s1)
sw a2,0x20(s1)
sw v1,0x24(s1)
or a0,v0,zero
sw v0,0x1c(s6)
sw zero,0x20(s6)
sb zero,0x0(a0)
lw ra,0x44(sp)
lw s8,0x40(sp)
lw s7,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x48
lb v0,0x24(s0)
sb v0,0x0(a0)
lw a2,0x20(s0)
lw a0,0x1c(s1)
sw a2,0x20(s1)
addu a0,a0,a2
sb zero,0x0(a0)
b 0x002646dc
_lw a0,0x1c(s0)
beq a2,zero,0x0026485c
_li v0,0x1
beq a2,v0,0x002648a4
_lw t9,-0x3698(gp)
jalr t9
_nop
lw a2,0x20(s6)
lw a0,0x1c(s1)
addu a0,a0,a2
sw a2,0x20(s1)
sb zero,0x0(a0)
sw zero,0x20(s6)
lw a0,0x1c(s6)
sb zero,0x0(a0)
lw ra,0x44(sp)
lw s8,0x40(sp)
lw s7,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x48
lb v0,0x24(s6)
sb v0,0x0(a0)
lw a2,0x20(s6)
b 0x0026485c
_lw a0,0x1c(s1)
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* void std::__push_heap<__normal_iterator<gold::Output_section::Input_section_sort_entry*,\n   std::vector<gold::Output_section::Input_section_sort_entry,\n   std::allocator<gold::Output_section::Input_section_sort_entry> > >, int,\n   gold::Output_section::Input_section_sort_entry,\n   __ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>\n   >(__normal_iterator<gold::Output_section::Input_section_sort_entry*,\n   std::vector<gold::Output_section::Input_section_sort_entry,\n   std::allocator<gold::Output_section::Input_section_sort_entry> > >, int, int,\n   gold::Output_section::Input_section_sort_entry,\n   __ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>&) */\n\nvoid std::\n     __push_heap<__normal_iterator<gold::Output_section::Input_section_sort_entry*,std::vector<gold::Output_section::Input_section_sort_entry,std::allocator<gold::Output_section::Input_section_sort_entry>>>,int,gold::Output_section::Input_section_sort_entry,__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)\n\n{\n  int iVar1;\n  code *pcVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 *puVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int in_t9;\n  int iVar16;\n  \n  iVar1 = param_2 + -1;\n  iVar16 = param_2 * 8;\n  puVar12 = (undefined4 *)(param_1 + param_2 * 0x38);\n  puVar14 = puVar12 + 9;\n  if (param_3 < param_2) {\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    puVar13 = puVar14;\n    while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }\n  }\n  uVar7 = param_4[4];\n  puVar13 = param_4 + 9;\n  uVar6 = param_4[5];\n  uVar10 = param_4[1];\n  uVar9 = param_4[2];\n  uVar8 = param_4[3];\n  uVar3 = param_4[6];\n  puVar11 = (undefined4 *)puVar12[7];\n  *puVar12 = *param_4;\n  puVar12[1] = uVar10;\n  puVar12[2] = uVar9;\n  puVar12[3] = uVar8;\n  puVar12[4] = uVar7;\n  puVar12[5] = uVar6;\n  puVar12[6] = uVar3;\n  puVar4 = (undefined4 *)param_4[7];\n  iVar1 = param_4[8];\n  if (puVar4 == puVar13) {\n    if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }\n    puVar12[8] = iVar1;\n    *(undefined1 *)((int)puVar11 + iVar1) = 0;\n    param_4[8] = 0;\n    *(undefined1 *)param_4[7] = 0;\n    return;\n  }\n  uVar3 = param_4[9];\n  if (puVar14 == puVar11) {\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n  }\n  else {\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }\n  param_4[7] = puVar13;\n  param_4[8] = 0;\n  *(undefined1 *)puVar13 = 0;\n  return;\n}\n\n" comment comment (declaration "void std::\n     __push_heap<__normal_iterator<gold::Output_section::Input_section_sort_entry*,std::vector<gold::Output_section::Input_section_sort_entry,std::allocator<gold::Output_section::Input_section_sort_entry>>>,int,gold::Output_section::Input_section_sort_entry,__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __push_heap<__normal_iterator<gold::Output_section::" identifier : : identifier < identifier < identifier : : identifier : :) identifier (ERROR "*" *) , (ERROR "std::vector<gold::Output_section::" identifier : : identifier < identifier : : identifier : :) identifier , (ERROR "std::allocator<gold::Output_section::" identifier : : identifier < identifier : : identifier : :) identifier (ERROR ">>>" >> >) , identifier , (ERROR "gold::Output_section::" identifier : : identifier : :) identifier , (ERROR "__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)\n\n{\n  int" identifier : : identifier < identifier : : identifier : : (function_declarator "Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)" identifier (ERROR ">>" >>) (parameter_list "(int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (expression_statement "iVar1 = param_2 + -1;" (assignment_expression "iVar1 = param_2 + -1" identifier = (binary_expression "param_2 + -1" identifier + number_literal)) ;) (expression_statement "iVar16 = param_2 * 8;" (assignment_expression "iVar16 = param_2 * 8" identifier = (binary_expression "param_2 * 8" identifier * number_literal)) ;) (expression_statement "puVar12 = (undefined4 *)(param_1 + param_2 * 0x38);" (assignment_expression "puVar12 = (undefined4 *)(param_1 + param_2 * 0x38)" identifier = (cast_expression "(undefined4 *)(param_1 + param_2 * 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + param_2 * 0x38)" ( (binary_expression "param_1 + param_2 * 0x38" identifier + (binary_expression "param_2 * 0x38" identifier * number_literal)) )))) ;) (expression_statement "puVar14 = puVar12 + 9;" (assignment_expression "puVar14 = puVar12 + 9" identifier = (binary_expression "puVar12 + 9" identifier + number_literal)) ;) (if_statement "if (param_3 < param_2) {\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    puVar13 = puVar14;\n    while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }\n  }" if (parenthesized_expression "(param_3 < param_2)" ( (binary_expression "param_3 < param_2" identifier < identifier) )) (compound_statement "{\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    puVar13 = puVar14;\n    while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }\n  }" { (expression_statement "pcVar2 = *(code **)(in_t9 + 0x25fe38);" (assignment_expression "pcVar2 = *(code **)(in_t9 + 0x25fe38)" identifier = (pointer_expression "*(code **)(in_t9 + 0x25fe38)" * (cast_expression "(code **)(in_t9 + 0x25fe38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x25fe38)" ( (binary_expression "in_t9 + 0x25fe38" identifier + number_literal) ))))) ;) (expression_statement "puVar13 = puVar14;" (assignment_expression "puVar13 = puVar14" identifier = identifier) ;) (while_statement "while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }" { (expression_statement "iVar15 = iVar1 / 2;" (assignment_expression "iVar15 = iVar1 / 2" identifier = (binary_expression "iVar1 / 2" identifier / number_literal)) ;) (expression_statement "puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);" (assignment_expression "puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38)" identifier = (cast_expression "(undefined4 *)(param_1 + iVar15 * 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar15 * 0x38)" ( (binary_expression "param_1 + iVar15 * 0x38" identifier + (binary_expression "iVar15 * 0x38" identifier * number_literal)) )))) ;) (expression_statement "puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);" (assignment_expression "puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8)" identifier = (cast_expression "(undefined4 *)(param_1 + (iVar16 - param_2) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + (iVar16 - param_2) * 8)" ( (binary_expression "param_1 + (iVar16 - param_2) * 8" identifier + (binary_expression "(iVar16 - param_2) * 8" (parenthesized_expression "(iVar16 - param_2)" ( (binary_expression "iVar16 - param_2" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "iVar1 = (*pcVar2)(param_5,puVar11,param_4);" (assignment_expression "iVar1 = (*pcVar2)(param_5,puVar11,param_4)" identifier = (call_expression "(*pcVar2)(param_5,puVar11,param_4)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(param_5,puVar11,param_4)" ( identifier , identifier , identifier )))) ;) (expression_statement "puVar14 = puVar13;" (assignment_expression "puVar14 = puVar13" identifier = identifier) ;) (if_statement "if (iVar1 == 0) break;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar14 = puVar11 + 9;" (assignment_expression "puVar14 = puVar11 + 9" identifier = (binary_expression "puVar11 + 9" identifier + number_literal)) ;) (expression_statement "uVar9 = puVar11[1];" (assignment_expression "uVar9 = puVar11[1]" identifier = (subscript_expression "puVar11[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = puVar11[2];" (assignment_expression "uVar8 = puVar11[2]" identifier = (subscript_expression "puVar11[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar11[3];" (assignment_expression "uVar7 = puVar11[3]" identifier = (subscript_expression "puVar11[3]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = puVar11[4];" (assignment_expression "uVar6 = puVar11[4]" identifier = (subscript_expression "puVar11[4]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = *puVar11;" (assignment_expression "uVar3 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "puVar12[5] = puVar11[5];" (assignment_expression "puVar12[5] = puVar11[5]" (subscript_expression "puVar12[5]" identifier [ number_literal ]) = (subscript_expression "puVar11[5]" identifier [ number_literal ])) ;) (expression_statement "puVar12[1] = uVar9;" (assignment_expression "puVar12[1] = uVar9" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = uVar8;" (assignment_expression "puVar12[2] = uVar8" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = uVar7;" (assignment_expression "puVar12[3] = uVar7" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[4] = uVar6;" (assignment_expression "puVar12[4] = uVar6" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar12 = uVar3;" (assignment_expression "*puVar12 = uVar3" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar4 = (undefined4 *)puVar12[7];" (assignment_expression "puVar4 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar12[6] = puVar11[6];" (assignment_expression "puVar12[6] = puVar11[6]" (subscript_expression "puVar12[6]" identifier [ number_literal ]) = (subscript_expression "puVar11[6]" identifier [ number_literal ])) ;) (if_statement "if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }" if (parenthesized_expression "((undefined4 *)puVar11[7] == puVar14)" ( (binary_expression "(undefined4 *)puVar11[7] == puVar14" (cast_expression "(undefined4 *)puVar11[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[7]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }" { (expression_statement "iVar1 = puVar11[8];" (assignment_expression "iVar1 = puVar11[8]" identifier = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" { (labeled_statement "LAB_002646cc:\n          puVar12[8] = iVar1;" statement_identifier : (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "*(undefined1 *)((int)puVar4 + iVar1) = 0;" (assignment_expression "*(undefined1 *)((int)puVar4 + iVar1) = 0" (pointer_expression "*(undefined1 *)((int)puVar4 + iVar1)" * (cast_expression "(undefined1 *)((int)puVar4 + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 + iVar1)" ( (binary_expression "(int)puVar4 + iVar1" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined1 *)puVar11[7];" (assignment_expression "puVar5 = (undefined1 *)puVar11[7]" identifier = (cast_expression "(undefined1 *)puVar11[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[7]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" else (compound_statement "{\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" { (if_statement "if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }" if (parenthesized_expression "(iVar1 != 1)" ( (binary_expression "iVar1 != 1" identifier != number_literal) )) (compound_statement "{\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }" { (expression_statement "(**(code **)(in_t9 + 0x261668))(puVar4,puVar14);" (call_expression "(**(code **)(in_t9 + 0x261668))(puVar4,puVar14)" (parenthesized_expression "(**(code **)(in_t9 + 0x261668))" ( (pointer_expression "**(code **)(in_t9 + 0x261668)" * (pointer_expression "*(code **)(in_t9 + 0x261668)" * (cast_expression "(code **)(in_t9 + 0x261668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x261668)" ( (binary_expression "in_t9 + 0x261668" identifier + number_literal) ))))) )) (argument_list "(puVar4,puVar14)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = puVar11[8];" (assignment_expression "iVar1 = puVar11[8]" identifier = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (expression_statement "puVar4 = (undefined4 *)puVar12[7];" (assignment_expression "puVar4 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_002646cc;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);" (assignment_expression "*(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9)" (pointer_expression "*(undefined1 *)puVar4" * (cast_expression "(undefined1 *)puVar4" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(puVar11 + 9)" * (cast_expression "(undefined1 *)(puVar11 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 9)" ( (binary_expression "puVar11 + 9" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = puVar11[8];" (assignment_expression "iVar1 = puVar11[8]" identifier = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puVar12[7] + iVar1) = 0;" (assignment_expression "*(undefined1 *)(puVar12[7] + iVar1) = 0" (pointer_expression "*(undefined1 *)(puVar12[7] + iVar1)" * (cast_expression "(undefined1 *)(puVar12[7] + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12[7] + iVar1)" ( (binary_expression "puVar12[7] + iVar1" (subscript_expression "puVar12[7]" identifier [ number_literal ]) + identifier) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined1 *)puVar11[7];" (assignment_expression "puVar5 = (undefined1 *)puVar11[7]" identifier = (cast_expression "(undefined1 *)puVar11[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[7]" identifier [ number_literal ]))) ;) }))) (expression_statement "puVar11[8] = 0;" (assignment_expression "puVar11[8] = 0" (subscript_expression "puVar11[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) }) (else_clause "else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }" else (compound_statement "{\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }" { (expression_statement "puVar12[7] = (undefined4 *)puVar11[7];" (assignment_expression "puVar12[7] = (undefined4 *)puVar11[7]" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = (cast_expression "(undefined4 *)puVar11[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[7]" identifier [ number_literal ]))) ;) (if_statement "if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }" if (parenthesized_expression "(puVar4 == puVar13)" ( (binary_expression "puVar4 == puVar13" identifier == identifier) )) (compound_statement "{\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }" { (expression_statement "puVar12[8] = puVar11[8];" (assignment_expression "puVar12[8] = puVar11[8]" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (expression_statement "puVar12[9] = puVar11[9];" (assignment_expression "puVar12[9] = puVar11[9]" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = (subscript_expression "puVar11[9]" identifier [ number_literal ])) ;) (labeled_statement "LAB_002647c0:\n          puVar11[7] = puVar14;" statement_identifier : (expression_statement "puVar11[7] = puVar14;" (assignment_expression "puVar11[7] = puVar14" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "puVar4 = puVar14;" (assignment_expression "puVar4 = puVar14" identifier = identifier) ;) }) (else_clause "else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }" else (compound_statement "{\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }" { (expression_statement "uVar3 = puVar12[9];" (assignment_expression "uVar3 = puVar12[9]" identifier = (subscript_expression "puVar12[9]" identifier [ number_literal ])) ;) (expression_statement "puVar12[8] = puVar11[8];" (assignment_expression "puVar12[8] = puVar11[8]" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (expression_statement "puVar12[9] = puVar11[9];" (assignment_expression "puVar12[9] = puVar11[9]" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = (subscript_expression "puVar11[9]" identifier [ number_literal ])) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002647c0;" goto statement_identifier ;)) (expression_statement "puVar11[7] = puVar4;" (assignment_expression "puVar11[7] = puVar4" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[9] = uVar3;" (assignment_expression "puVar11[9] = uVar3" (subscript_expression "puVar11[9]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "puVar11[8] = 0;" (assignment_expression "puVar11[8] = 0" (subscript_expression "puVar11[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)puVar4 = 0;" (assignment_expression "*(undefined1 *)puVar4 = 0" (pointer_expression "*(undefined1 *)puVar4" * (cast_expression "(undefined1 *)puVar4" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) }))) (expression_statement "puVar12 = puVar11;" (assignment_expression "puVar12 = puVar11" identifier = identifier) ;) (if_statement "if (iVar15 <= param_3) break;" if (parenthesized_expression "(iVar15 <= param_3)" ( (binary_expression "iVar15 <= param_3" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar1 = iVar15 + -1;" (assignment_expression "iVar1 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar15 << 3;" (assignment_expression "iVar16 = iVar15 << 3" identifier = (binary_expression "iVar15 << 3" identifier << number_literal)) ;) (expression_statement "puVar13 = puVar14;" (assignment_expression "puVar13 = puVar14" identifier = identifier) ;) (expression_statement "param_2 = iVar15;" (assignment_expression "param_2 = iVar15" identifier = identifier) ;) })) })) (expression_statement "uVar7 = param_4[4];" (assignment_expression "uVar7 = param_4[4]" identifier = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "puVar13 = param_4 + 9;" (assignment_expression "puVar13 = param_4 + 9" identifier = (binary_expression "param_4 + 9" identifier + number_literal)) ;) (expression_statement "uVar6 = param_4[5];" (assignment_expression "uVar6 = param_4[5]" identifier = (subscript_expression "param_4[5]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = param_4[1];" (assignment_expression "uVar10 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = param_4[2];" (assignment_expression "uVar9 = param_4[2]" identifier = (subscript_expression "param_4[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_4[3];" (assignment_expression "uVar8 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_4[6];" (assignment_expression "uVar3 = param_4[6]" identifier = (subscript_expression "param_4[6]" identifier [ number_literal ])) ;) (expression_statement "puVar11 = (undefined4 *)puVar12[7];" (assignment_expression "puVar11 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) (expression_statement "*puVar12 = *param_4;" (assignment_expression "*puVar12 = *param_4" (pointer_expression "*puVar12" * identifier) = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "puVar12[1] = uVar10;" (assignment_expression "puVar12[1] = uVar10" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = uVar9;" (assignment_expression "puVar12[2] = uVar9" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = uVar8;" (assignment_expression "puVar12[3] = uVar8" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[4] = uVar7;" (assignment_expression "puVar12[4] = uVar7" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[5] = uVar6;" (assignment_expression "puVar12[5] = uVar6" (subscript_expression "puVar12[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[6] = uVar3;" (assignment_expression "puVar12[6] = uVar3" (subscript_expression "puVar12[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar4 = (undefined4 *)param_4[7];" (assignment_expression "puVar4 = (undefined4 *)param_4[7]" identifier = (cast_expression "(undefined4 *)param_4[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[7]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = param_4[8];" (assignment_expression "iVar1 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (if_statement "if (puVar4 == puVar13) {\n    if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }\n    puVar12[8] = iVar1;\n    *(undefined1 *)((int)puVar11 + iVar1) = 0;\n    param_4[8] = 0;\n    *(undefined1 *)param_4[7] = 0;\n    return;\n  }" if (parenthesized_expression "(puVar4 == puVar13)" ( (binary_expression "puVar4 == puVar13" identifier == identifier) )) (compound_statement "{\n    if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }\n    puVar12[8] = iVar1;\n    *(undefined1 *)((int)puVar11 + iVar1) = 0;\n    param_4[8] = 0;\n    *(undefined1 *)param_4[7] = 0;\n    return;\n  }" { (if_statement "if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }" { (if_statement "if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" { (expression_statement "*(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);" (assignment_expression "*(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9)" (pointer_expression "*(undefined1 *)puVar11" * (cast_expression "(undefined1 *)puVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(param_4 + 9)" * (cast_expression "(undefined1 *)(param_4 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 9)" ( (binary_expression "param_4 + 9" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = param_4[8];" (assignment_expression "iVar1 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "puVar11 = (undefined4 *)puVar12[7];" (assignment_expression "puVar11 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" else (compound_statement "{\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" { (expression_statement "(**(code **)(in_t9 + 0x261668))();" (call_expression "(**(code **)(in_t9 + 0x261668))()" (parenthesized_expression "(**(code **)(in_t9 + 0x261668))" ( (pointer_expression "**(code **)(in_t9 + 0x261668)" * (pointer_expression "*(code **)(in_t9 + 0x261668)" * (cast_expression "(code **)(in_t9 + 0x261668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x261668)" ( (binary_expression "in_t9 + 0x261668" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = param_4[8];" (assignment_expression "iVar1 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "puVar11 = (undefined4 *)puVar12[7];" (assignment_expression "puVar11 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) }))) })) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)((int)puVar11 + iVar1) = 0;" (assignment_expression "*(undefined1 *)((int)puVar11 + iVar1) = 0" (pointer_expression "*(undefined1 *)((int)puVar11 + iVar1)" * (cast_expression "(undefined1 *)((int)puVar11 + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + iVar1)" ( (binary_expression "(int)puVar11 + iVar1" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "param_4[8] = 0;" (assignment_expression "param_4[8] = 0" (subscript_expression "param_4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)param_4[7] = 0;" (assignment_expression "*(undefined1 *)param_4[7] = 0" (pointer_expression "*(undefined1 *)param_4[7]" * (cast_expression "(undefined1 *)param_4[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[7]" identifier [ number_literal ]))) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "uVar3 = param_4[9];" (assignment_expression "uVar3 = param_4[9]" identifier = (subscript_expression "param_4[9]" identifier [ number_literal ])) ;) (if_statement "if (puVar14 == puVar11) {\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n  }\n  else {\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }" if (parenthesized_expression "(puVar14 == puVar11)" ( (binary_expression "puVar14 == puVar11" identifier == identifier) )) (compound_statement "{\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n  }" { (expression_statement "puVar12[7] = puVar4;" (assignment_expression "puVar12[7] = puVar4" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[9] = uVar3;" (assignment_expression "puVar12[9] = uVar3" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }" else (compound_statement "{\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }" { (expression_statement "uVar6 = puVar12[9];" (assignment_expression "uVar6 = puVar12[9]" identifier = (subscript_expression "puVar12[9]" identifier [ number_literal ])) ;) (expression_statement "puVar12[7] = puVar4;" (assignment_expression "puVar12[7] = puVar4" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[9] = uVar3;" (assignment_expression "puVar12[9] = uVar3" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }" if (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" ( (binary_expression "puVar11 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }" { (expression_statement "param_4[7] = puVar11;" (assignment_expression "param_4[7] = puVar11" (subscript_expression "param_4[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[9] = uVar6;" (assignment_expression "param_4[9] = uVar6" (subscript_expression "param_4[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[8] = 0;" (assignment_expression "param_4[8] = 0" (subscript_expression "param_4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)puVar11 = 0;" (assignment_expression "*(undefined1 *)puVar11 = 0" (pointer_expression "*(undefined1 *)puVar11" * (cast_expression "(undefined1 *)puVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (return_statement "return;" return ;) })) }))) (expression_statement "param_4[7] = puVar13;" (assignment_expression "param_4[7] = puVar13" (subscript_expression "param_4[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[8] = 0;" (assignment_expression "param_4[8] = 0" (subscript_expression "param_4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)puVar13 = 0;" (assignment_expression "*(undefined1 *)puVar13 = 0" (pointer_expression "*(undefined1 *)puVar13" * (cast_expression "(undefined1 *)puVar13" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (return_statement "return;" return ;) (ERROR "}" }))
(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:\n   __push_heap<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section_sort_entry*,\n   std::vector<gold::Output_section::Input_section_sort_entry> >, int,\n   gold::Output_section::Input_section_sort_entry,\n   __gnu_cxx::__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare> > */\n\nvoid std::\n     __push_heap<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section_sort_entry*,_std::vector<gold::Output_section::Input_section_sort_entry>_>,_int,_gold::Output_section::Input_section_sort_entry,___gnu_cxx::__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>_>\n               (__normal_iterator<gold::Output_section::Input_section_sort_entry*,_std::vector<gold::Output_section::Input_section_sort_entry,_std::allocator<gold::Output_section::Input_section_sort_entry>_>_>\n                __first,int __holeIndex,int __topIndex,Input_section_sort_entry *__value,\n               _Iter_comp_val<gold::Output_section::Input_section_sort_compare> *__comp)\n\n{\n  int iVar1;\n  code *pcVar2;\n  uint uVar3;\n  pointer pcVar4;\n  size_type sVar5;\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  undefined4 uVar9;\n  size_type sVar10;\n  undefined4 uVar11;\n  size_type sVar12;\n  uint uVar13;\n  uint uVar14;\n  Input_section_sort_entry *pIVar15;\n  Input_section_sort_entry *pIVar16;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar17;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar18;\n  int iVar19;\n  int in_t9;\n  int iVar20;\n  \n  iVar1 = __holeIndex + -1;\n  iVar20 = __holeIndex * 8;\n  paVar18 = &__first._M_current[__holeIndex].section_name_.field_2;\n  pIVar16 = __first._M_current + __holeIndex;\n  if (__topIndex < __holeIndex) {\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    paVar17 = paVar18;\n    while( true ) {\n      iVar19 = iVar1 / 2;\n      pIVar15 = __first._M_current + iVar19;\n      pIVar16 = __first._M_current + (iVar20 - __holeIndex) * 8;\n      iVar1 = (*pcVar2)(__comp,pIVar15,__value);\n      paVar18 = paVar17;\n      if (iVar1 == 0) break;\n      paVar18 = &(pIVar15->section_name_).field_2;\n      uVar13 = (pIVar15->input_section_).p2align_;\n      uVar11 = *(undefined4 *)&(pIVar15->input_section_).u1_;\n      uVar9 = *(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4);\n      aVar7 = (pIVar15->input_section_).u2_;\n      uVar3 = (pIVar15->input_section_).shndx_;\n      (pIVar16->input_section_).section_order_index_ =\n           (pIVar15->input_section_).section_order_index_;\n      (pIVar16->input_section_).p2align_ = uVar13;\n      *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11;\n      *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;\n      (pIVar16->input_section_).u2_ = aVar7;\n      (pIVar16->input_section_).shndx_ = uVar3;\n      paVar6 = (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->index_ = pIVar15->index_;\n      pcVar4 = (pIVar15->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           *)pcVar4 == paVar18) {\n        sVar10 = (pIVar15->section_name_)._M_string_length;\n        if (sVar10 == 0) {\nLAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          paVar6->_M_local_buf[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        else {\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        *pcVar4 = '\0';\n      }\n      else {\n        (pIVar16->section_name_)._M_dataplus._M_p = pcVar4;\n        if (paVar6 == paVar17) {\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }\n        else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        paVar6->_M_local_buf[0] = '\0';\n      }\n      pIVar16 = pIVar15;\n      if (iVar19 <= __topIndex) break;\n      iVar1 = iVar19 + -1;\n      iVar20 = iVar19 << 3;\n      paVar17 = paVar18;\n      __holeIndex = iVar19;\n    }\n  }\n  aVar7 = (__value->input_section_).u2_;\n  paVar17 = &(__value->section_name_).field_2;\n  uVar13 = (__value->input_section_).section_order_index_;\n  uVar14 = (__value->input_section_).p2align_;\n  uVar11 = *(undefined4 *)&(__value->input_section_).u1_;\n  uVar9 = *(undefined4 *)((int)&(__value->input_section_).u1_ + 4);\n  uVar3 = __value->index_;\n  pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n  (pIVar16->input_section_).shndx_ = (__value->input_section_).shndx_;\n  (pIVar16->input_section_).p2align_ = uVar14;\n  *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11;\n  *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;\n  (pIVar16->input_section_).u2_ = aVar7;\n  (pIVar16->input_section_).section_order_index_ = uVar13;\n  pIVar16->index_ = uVar3;\n  pcVar8 = (__value->section_name_)._M_dataplus._M_p;\n  sVar10 = (__value->section_name_)._M_string_length;\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)pcVar8 == paVar17) {\n    if (sVar10 != 0) {\n      if (sVar10 == 1) {\n        *pcVar4 = (__value->section_name_).field_2._M_local_buf[0];\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n    }\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    pcVar4[sVar10] = '\0';\n    (__value->section_name_)._M_string_length = 0;\n    *(__value->section_name_)._M_dataplus._M_p = '\0';\n    return;\n  }\n  sVar5 = (__value->section_name_).field_2._M_allocated_capacity;\n  if (paVar18 ==\n      (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)pcVar4) {\n    (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;\n  }\n  else {\n    sVar12 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n    (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;\n    if (pcVar4 != (pointer)0x0) {\n      (__value->section_name_)._M_dataplus._M_p = pcVar4;\n      (__value->section_name_).field_2._M_allocated_capacity = sVar12;\n      (__value->section_name_)._M_string_length = 0;\n      *pcVar4 = '\0';\n      return;\n    }\n  }\n  (__value->section_name_)._M_dataplus._M_p = (pointer)paVar17;\n  (__value->section_name_)._M_string_length = 0;\n  paVar17->_M_local_buf[0] = '\0';\n  return;\n}\n\n" comment comment comment comment (declaration "void std::\n     __push_heap<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section_sort_entry*,_std::vector<gold::Output_section::Input_section_sort_entry>_>,_int,_gold::Output_section::Input_section_sort_entry,___gnu_cxx::__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>_>\n               (__normal_iterator<gold::Output_section::Input_section_sort_entry*,_std::vector<gold::Output_section::Input_section_sort_entry,_std::allocator<gold::Output_section::Input_section_sort_entry>_>_>\n                __first,int __holeIndex,int __topIndex,Input_section_sort_entry *__value,\n               _Iter_comp_val<gold::Output_section::Input_section_sort_compare> *__comp)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __push_heap<__gnu_cxx::__normal_iterator<gold::Output_section::" identifier : : identifier < identifier : : identifier < identifier : : identifier : :) identifier (ERROR "*" *) , (ERROR "_std::vector<gold::Output_section::Input_section_sort_entry>" identifier : : identifier < identifier : : identifier : : identifier >) identifier (ERROR ">" >) , identifier , (ERROR "_gold::Output_section::" identifier : : identifier : :) identifier , (ERROR "___gnu_cxx::__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>_>\n               (__normal_iterator<gold::Output_section::Input_section_sort_entry*,_std::vector<gold::Output_section::Input_section_sort_entry,_std::allocator<gold::Output_section::Input_section_sort_entry>_>_>\n                __first,int __holeIndex,int __topIndex,Input_section_sort_entry *__value,\n               _Iter_comp_val<gold::Output_section::Input_section_sort_compare> *__comp)\n\n{\n  int" identifier : : identifier : : identifier < identifier : : identifier : : identifier > (function_declarator "_>\n               (__normal_iterator<gold::Output_section::Input_section_sort_entry*,_std::vector<gold::Output_section::Input_section_sort_entry,_std::allocator<gold::Output_section::Input_section_sort_entry>_>_>\n                __first,int __holeIndex,int __topIndex,Input_section_sort_entry *__value,\n               _Iter_comp_val<gold::Output_section::Input_section_sort_compare> *__comp)" identifier (ERROR ">" >) (parameter_list "(__normal_iterator<gold::Output_section::Input_section_sort_entry*,_std::vector<gold::Output_section::Input_section_sort_entry,_std::allocator<gold::Output_section::Input_section_sort_entry>_>_>\n                __first,int __holeIndex,int __topIndex,Input_section_sort_entry *__value,\n               _Iter_comp_val<gold::Output_section::Input_section_sort_compare> *__comp)" ( (parameter_declaration "__normal_iterator<gold::Output_section::Input_section_sort_entry*" type_identifier (ERROR "<gold::Output_section::Input_section_sort_entry" < identifier : : identifier : : identifier) (abstract_pointer_declarator "*" *)) , (parameter_declaration "_std::vector<gold::Output_section::Input_section_sort_entry" type_identifier (ERROR "::vector<gold::Output_section::" : : identifier < identifier : : identifier : :) identifier) , (parameter_declaration "_std::allocator<gold::Output_section::Input_section_sort_entry>_>_>\n                __first" type_identifier (ERROR "::allocator<gold::Output_section::Input_section_sort_entry>_>_>" : : identifier < identifier : : identifier : : identifier > identifier > identifier >) identifier) , (parameter_declaration "int __holeIndex" primitive_type identifier) , (parameter_declaration "int __topIndex" primitive_type identifier) , (parameter_declaration "Input_section_sort_entry *__value" type_identifier (pointer_declarator "*__value" * identifier)) , (parameter_declaration "_Iter_comp_val<gold::Output_section::Input_section_sort_compare> *__comp" type_identifier (ERROR "<gold::Output_section::Input_section_sort_compare>" < identifier : : identifier : : identifier >) (pointer_declarator "*__comp" * identifier)) ))) { primitive_type) identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "pointer pcVar4;" type_identifier identifier ;) (declaration "size_type sVar5;" type_identifier identifier ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar6;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (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 "undefined4 uVar9;" type_identifier identifier ;) (declaration "size_type sVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "size_type sVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "Input_section_sort_entry *pIVar15;" type_identifier (pointer_declarator "*pIVar15" * identifier) ;) (declaration "Input_section_sort_entry *pIVar16;" type_identifier (pointer_declarator "*pIVar16" * identifier) ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar17;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) :) : (expression_statement "allocator<char>_>_9\n  *paVar17;" (binary_expression "allocator<char>_>_9\n  *paVar17" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar17" identifier * identifier)) ;)) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar18;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) :) : (expression_statement "allocator<char>_>_9\n  *paVar18;" (binary_expression "allocator<char>_>_9\n  *paVar18" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar18" identifier * identifier)) ;)) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (expression_statement "iVar1 = __holeIndex + -1;" (assignment_expression "iVar1 = __holeIndex + -1" identifier = (binary_expression "__holeIndex + -1" identifier + number_literal)) ;) (expression_statement "iVar20 = __holeIndex * 8;" (assignment_expression "iVar20 = __holeIndex * 8" identifier = (binary_expression "__holeIndex * 8" identifier * number_literal)) ;) (expression_statement "paVar18 = &__first._M_current[__holeIndex].section_name_.field_2;" (assignment_expression "paVar18 = &__first._M_current[__holeIndex].section_name_.field_2" identifier = (pointer_expression "&__first._M_current[__holeIndex].section_name_.field_2" & (field_expression "__first._M_current[__holeIndex].section_name_.field_2" (field_expression "__first._M_current[__holeIndex].section_name_" (subscript_expression "__first._M_current[__holeIndex]" (field_expression "__first._M_current" identifier . field_identifier) [ identifier ]) . field_identifier) . field_identifier))) ;) (expression_statement "pIVar16 = __first._M_current + __holeIndex;" (assignment_expression "pIVar16 = __first._M_current + __holeIndex" identifier = (binary_expression "__first._M_current + __holeIndex" (field_expression "__first._M_current" identifier . field_identifier) + identifier)) ;) (if_statement "if (__topIndex < __holeIndex) {\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    paVar17 = paVar18;\n    while( true ) {\n      iVar19 = iVar1 / 2;\n      pIVar15 = __first._M_current + iVar19;\n      pIVar16 = __first._M_current + (iVar20 - __holeIndex) * 8;\n      iVar1 = (*pcVar2)(__comp,pIVar15,__value);\n      paVar18 = paVar17;\n      if (iVar1 == 0) break;\n      paVar18 = &(pIVar15->section_name_).field_2;\n      uVar13 = (pIVar15->input_section_).p2align_;\n      uVar11 = *(undefined4 *)&(pIVar15->input_section_).u1_;\n      uVar9 = *(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4);\n      aVar7 = (pIVar15->input_section_).u2_;\n      uVar3 = (pIVar15->input_section_).shndx_;\n      (pIVar16->input_section_).section_order_index_ =\n           (pIVar15->input_section_).section_order_index_;\n      (pIVar16->input_section_).p2align_ = uVar13;\n      *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11;\n      *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;\n      (pIVar16->input_section_).u2_ = aVar7;\n      (pIVar16->input_section_).shndx_ = uVar3;\n      paVar6 = (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->index_ = pIVar15->index_;\n      pcVar4 = (pIVar15->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           *)pcVar4 == paVar18) {\n        sVar10 = (pIVar15->section_name_)._M_string_length;\n        if (sVar10 == 0) {\nLAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          paVar6->_M_local_buf[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        else {\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        *pcVar4 = '\0';\n      }\n      else {\n        (pIVar16->section_name_)._M_dataplus._M_p = pcVar4;\n        if (paVar6 == paVar17) {\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }\n        else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        paVar6->_M_local_buf[0] = '\0';\n      }\n      pIVar16 = pIVar15;\n      if (iVar19 <= __topIndex) break;\n      iVar1 = iVar19 + -1;\n      iVar20 = iVar19 << 3;\n      paVar17 = paVar18;\n      __holeIndex = iVar19;\n    }\n  }" if (parenthesized_expression "(__topIndex < __holeIndex)" ( (binary_expression "__topIndex < __holeIndex" identifier < identifier) )) (compound_statement "{\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    paVar17 = paVar18;\n    while( true ) {\n      iVar19 = iVar1 / 2;\n      pIVar15 = __first._M_current + iVar19;\n      pIVar16 = __first._M_current + (iVar20 - __holeIndex) * 8;\n      iVar1 = (*pcVar2)(__comp,pIVar15,__value);\n      paVar18 = paVar17;\n      if (iVar1 == 0) break;\n      paVar18 = &(pIVar15->section_name_).field_2;\n      uVar13 = (pIVar15->input_section_).p2align_;\n      uVar11 = *(undefined4 *)&(pIVar15->input_section_).u1_;\n      uVar9 = *(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4);\n      aVar7 = (pIVar15->input_section_).u2_;\n      uVar3 = (pIVar15->input_section_).shndx_;\n      (pIVar16->input_section_).section_order_index_ =\n           (pIVar15->input_section_).section_order_index_;\n      (pIVar16->input_section_).p2align_ = uVar13;\n      *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11;\n      *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;\n      (pIVar16->input_section_).u2_ = aVar7;\n      (pIVar16->input_section_).shndx_ = uVar3;\n      paVar6 = (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->index_ = pIVar15->index_;\n      pcVar4 = (pIVar15->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           *)pcVar4 == paVar18) {\n        sVar10 = (pIVar15->section_name_)._M_string_length;\n        if (sVar10 == 0) {\nLAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          paVar6->_M_local_buf[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        else {\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        *pcVar4 = '\0';\n      }\n      else {\n        (pIVar16->section_name_)._M_dataplus._M_p = pcVar4;\n        if (paVar6 == paVar17) {\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }\n        else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        paVar6->_M_local_buf[0] = '\0';\n      }\n      pIVar16 = pIVar15;\n      if (iVar19 <= __topIndex) break;\n      iVar1 = iVar19 + -1;\n      iVar20 = iVar19 << 3;\n      paVar17 = paVar18;\n      __holeIndex = iVar19;\n    }\n  }" { (expression_statement "pcVar2 = *(code **)(in_t9 + 0x25fe38);" (assignment_expression "pcVar2 = *(code **)(in_t9 + 0x25fe38)" identifier = (pointer_expression "*(code **)(in_t9 + 0x25fe38)" * (cast_expression "(code **)(in_t9 + 0x25fe38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x25fe38)" ( (binary_expression "in_t9 + 0x25fe38" identifier + number_literal) ))))) ;) (expression_statement "paVar17 = paVar18;" (assignment_expression "paVar17 = paVar18" identifier = identifier) ;) (while_statement "while( true ) {\n      iVar19 = iVar1 / 2;\n      pIVar15 = __first._M_current + iVar19;\n      pIVar16 = __first._M_current + (iVar20 - __holeIndex) * 8;\n      iVar1 = (*pcVar2)(__comp,pIVar15,__value);\n      paVar18 = paVar17;\n      if (iVar1 == 0) break;\n      paVar18 = &(pIVar15->section_name_).field_2;\n      uVar13 = (pIVar15->input_section_).p2align_;\n      uVar11 = *(undefined4 *)&(pIVar15->input_section_).u1_;\n      uVar9 = *(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4);\n      aVar7 = (pIVar15->input_section_).u2_;\n      uVar3 = (pIVar15->input_section_).shndx_;\n      (pIVar16->input_section_).section_order_index_ =\n           (pIVar15->input_section_).section_order_index_;\n      (pIVar16->input_section_).p2align_ = uVar13;\n      *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11;\n      *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;\n      (pIVar16->input_section_).u2_ = aVar7;\n      (pIVar16->input_section_).shndx_ = uVar3;\n      paVar6 = (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->index_ = pIVar15->index_;\n      pcVar4 = (pIVar15->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           *)pcVar4 == paVar18) {\n        sVar10 = (pIVar15->section_name_)._M_string_length;\n        if (sVar10 == 0) {\nLAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          paVar6->_M_local_buf[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        else {\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        *pcVar4 = '\0';\n      }\n      else {\n        (pIVar16->section_name_)._M_dataplus._M_p = pcVar4;\n        if (paVar6 == paVar17) {\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }\n        else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        paVar6->_M_local_buf[0] = '\0';\n      }\n      pIVar16 = pIVar15;\n      if (iVar19 <= __topIndex) break;\n      iVar1 = iVar19 + -1;\n      iVar20 = iVar19 << 3;\n      paVar17 = paVar18;\n      __holeIndex = iVar19;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar19 = iVar1 / 2;\n      pIVar15 = __first._M_current + iVar19;\n      pIVar16 = __first._M_current + (iVar20 - __holeIndex) * 8;\n      iVar1 = (*pcVar2)(__comp,pIVar15,__value);\n      paVar18 = paVar17;\n      if (iVar1 == 0) break;\n      paVar18 = &(pIVar15->section_name_).field_2;\n      uVar13 = (pIVar15->input_section_).p2align_;\n      uVar11 = *(undefined4 *)&(pIVar15->input_section_).u1_;\n      uVar9 = *(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4);\n      aVar7 = (pIVar15->input_section_).u2_;\n      uVar3 = (pIVar15->input_section_).shndx_;\n      (pIVar16->input_section_).section_order_index_ =\n           (pIVar15->input_section_).section_order_index_;\n      (pIVar16->input_section_).p2align_ = uVar13;\n      *(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11;\n      *(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;\n      (pIVar16->input_section_).u2_ = aVar7;\n      (pIVar16->input_section_).shndx_ = uVar3;\n      paVar6 = (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->index_ = pIVar15->index_;\n      pcVar4 = (pIVar15->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           *)pcVar4 == paVar18) {\n        sVar10 = (pIVar15->section_name_)._M_string_length;\n        if (sVar10 == 0) {\nLAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          paVar6->_M_local_buf[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        else {\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        *pcVar4 = '\0';\n      }\n      else {\n        (pIVar16->section_name_)._M_dataplus._M_p = pcVar4;\n        if (paVar6 == paVar17) {\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }\n        else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        paVar6->_M_local_buf[0] = '\0';\n      }\n      pIVar16 = pIVar15;\n      if (iVar19 <= __topIndex) break;\n      iVar1 = iVar19 + -1;\n      iVar20 = iVar19 << 3;\n      paVar17 = paVar18;\n      __holeIndex = iVar19;\n    }" { (expression_statement "iVar19 = iVar1 / 2;" (assignment_expression "iVar19 = iVar1 / 2" identifier = (binary_expression "iVar1 / 2" identifier / number_literal)) ;) (expression_statement "pIVar15 = __first._M_current + iVar19;" (assignment_expression "pIVar15 = __first._M_current + iVar19" identifier = (binary_expression "__first._M_current + iVar19" (field_expression "__first._M_current" identifier . field_identifier) + identifier)) ;) (expression_statement "pIVar16 = __first._M_current + (iVar20 - __holeIndex) * 8;" (assignment_expression "pIVar16 = __first._M_current + (iVar20 - __holeIndex) * 8" identifier = (binary_expression "__first._M_current + (iVar20 - __holeIndex) * 8" (field_expression "__first._M_current" identifier . field_identifier) + (binary_expression "(iVar20 - __holeIndex) * 8" (parenthesized_expression "(iVar20 - __holeIndex)" ( (binary_expression "iVar20 - __holeIndex" identifier - identifier) )) * number_literal))) ;) (expression_statement "iVar1 = (*pcVar2)(__comp,pIVar15,__value);" (assignment_expression "iVar1 = (*pcVar2)(__comp,pIVar15,__value)" identifier = (call_expression "(*pcVar2)(__comp,pIVar15,__value)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(__comp,pIVar15,__value)" ( identifier , identifier , identifier )))) ;) (expression_statement "paVar18 = paVar17;" (assignment_expression "paVar18 = paVar17" identifier = identifier) ;) (if_statement "if (iVar1 == 0) break;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "paVar18 = &(pIVar15->section_name_).field_2;" (assignment_expression "paVar18 = &(pIVar15->section_name_).field_2" identifier = (pointer_expression "&(pIVar15->section_name_).field_2" & (field_expression "(pIVar15->section_name_).field_2" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "uVar13 = (pIVar15->input_section_).p2align_;" (assignment_expression "uVar13 = (pIVar15->input_section_).p2align_" identifier = (field_expression "(pIVar15->input_section_).p2align_" (parenthesized_expression "(pIVar15->input_section_)" ( (field_expression "pIVar15->input_section_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar11 = *(undefined4 *)&(pIVar15->input_section_).u1_;" (assignment_expression "uVar11 = *(undefined4 *)&(pIVar15->input_section_).u1_" identifier = (pointer_expression "*(undefined4 *)&(pIVar15->input_section_).u1_" * (cast_expression "(undefined4 *)&(pIVar15->input_section_).u1_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar15->input_section_).u1_" & (field_expression "(pIVar15->input_section_).u1_" (parenthesized_expression "(pIVar15->input_section_)" ( (field_expression "pIVar15->input_section_" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "uVar9 = *(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4);" (assignment_expression "uVar9 = *(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4)" * (cast_expression "(undefined4 *)((int)&(pIVar15->input_section_).u1_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pIVar15->input_section_).u1_ + 4)" ( (binary_expression "(int)&(pIVar15->input_section_).u1_ + 4" (cast_expression "(int)&(pIVar15->input_section_).u1_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pIVar15->input_section_).u1_" & (field_expression "(pIVar15->input_section_).u1_" (parenthesized_expression "(pIVar15->input_section_)" ( (field_expression "pIVar15->input_section_" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "aVar7 = (pIVar15->input_section_).u2_;" (assignment_expression "aVar7 = (pIVar15->input_section_).u2_" identifier = (field_expression "(pIVar15->input_section_).u2_" (parenthesized_expression "(pIVar15->input_section_)" ( (field_expression "pIVar15->input_section_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar3 = (pIVar15->input_section_).shndx_;" (assignment_expression "uVar3 = (pIVar15->input_section_).shndx_" identifier = (field_expression "(pIVar15->input_section_).shndx_" (parenthesized_expression "(pIVar15->input_section_)" ( (field_expression "pIVar15->input_section_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).section_order_index_ =\n           (pIVar15->input_section_).section_order_index_;" (assignment_expression "(pIVar16->input_section_).section_order_index_ =\n           (pIVar15->input_section_).section_order_index_" (field_expression "(pIVar16->input_section_).section_order_index_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = (field_expression "(pIVar15->input_section_).section_order_index_" (parenthesized_expression "(pIVar15->input_section_)" ( (field_expression "pIVar15->input_section_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->input_section_).p2align_ = uVar13;" (assignment_expression "(pIVar16->input_section_).p2align_ = uVar13" (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_ = uVar11;" (assignment_expression "*(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11" (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) = uVar9;" (assignment_expression "*(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9" (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_).shndx_ = uVar3;" (assignment_expression "(pIVar16->input_section_).shndx_ = uVar3" (field_expression "(pIVar16->input_section_).shndx_" (parenthesized_expression "(pIVar16->input_section_)" ( (field_expression "pIVar16->input_section_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "paVar6 = (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 "paVar6 = (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->index_ = pIVar15->index_;" (assignment_expression "pIVar16->index_ = pIVar15->index_" (field_expression "pIVar16->index_" identifier -> field_identifier) = (field_expression "pIVar15->index_" identifier -> field_identifier)) ;) (expression_statement "pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p" identifier = (field_expression "(pIVar15->section_name_)._M_dataplus._M_p" (field_expression "(pIVar15->section_name_)._M_dataplus" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" 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           *)pcVar4 == paVar18) {\n        sVar10 = (pIVar15->section_name_)._M_string_length;\n        if (sVar10 == 0) {\nLAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          paVar6->_M_local_buf[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        else {\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        *pcVar4 = '\0';\n      }\n      else {\n        (pIVar16->section_name_)._M_dataplus._M_p = pcVar4;\n        if (paVar6 == paVar17) {\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }\n        else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        paVar6->_M_local_buf[0] = '\0';\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar4 == paVar18)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar4 == paVar18)" ( (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           *)pcVar4 == paVar18" (binary_expression "allocator<char>_>_9\n           *)pcVar4" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)pcVar4" identifier * (ERROR ")" )) identifier)) == identifier) )) )) (compound_statement "{\n        sVar10 = (pIVar15->section_name_)._M_string_length;\n        if (sVar10 == 0) {\nLAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          paVar6->_M_local_buf[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        else {\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        *pcVar4 = '\0';\n      }" { (expression_statement "sVar10 = (pIVar15->section_name_)._M_string_length;" (assignment_expression "sVar10 = (pIVar15->section_name_)._M_string_length" identifier = (field_expression "(pIVar15->section_name_)._M_string_length" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (sVar10 == 0) {\nLAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          paVar6->_M_local_buf[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }\n        else {\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          paVar6->_M_local_buf[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }" { (labeled_statement "LAB_002646cc:\n          (pIVar16->section_name_)._M_string_length = sVar10;" statement_identifier : (expression_statement "(pIVar16->section_name_)._M_string_length = sVar10;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar10" (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 "paVar6->_M_local_buf[sVar10] = '\0';" (assignment_expression "paVar6->_M_local_buf[sVar10] = '\0'" (subscript_expression "paVar6->_M_local_buf[sVar10]" (field_expression "paVar6->_M_local_buf" identifier -> field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p" identifier = (field_expression "(pIVar15->section_name_)._M_dataplus._M_p" (field_expression "(pIVar15->section_name_)._M_dataplus" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }" else (compound_statement "{\n          if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }\n          paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];\n          sVar10 = (pIVar15->section_name_)._M_string_length;\n          pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n          (pIVar16->section_name_)._M_string_length = sVar10;\n          pcVar4[sVar10] = '\0';\n          pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;\n        }" { (if_statement "if (sVar10 != 1) {\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }" if (parenthesized_expression "(sVar10 != 1)" ( (binary_expression "sVar10 != 1" identifier != number_literal) )) (compound_statement "{\n            (**(code **)(in_t9 + 0x261668))(paVar6,paVar18);\n            sVar10 = (pIVar15->section_name_)._M_string_length;\n            paVar6 = (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            goto LAB_002646cc;\n          }" { (expression_statement "(**(code **)(in_t9 + 0x261668))(paVar6,paVar18);" (call_expression "(**(code **)(in_t9 + 0x261668))(paVar6,paVar18)" (parenthesized_expression "(**(code **)(in_t9 + 0x261668))" ( (pointer_expression "**(code **)(in_t9 + 0x261668)" * (pointer_expression "*(code **)(in_t9 + 0x261668)" * (cast_expression "(code **)(in_t9 + 0x261668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x261668)" ( (binary_expression "in_t9 + 0x261668" identifier + number_literal) ))))) )) (argument_list "(paVar6,paVar18)" ( identifier , identifier ))) ;) (expression_statement "sVar10 = (pIVar15->section_name_)._M_string_length;" (assignment_expression "sVar10 = (pIVar15->section_name_)._M_string_length" identifier = (field_expression "(pIVar15->section_name_)._M_string_length" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "paVar6 = (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 "paVar6 = (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)) ;) (goto_statement "goto LAB_002646cc;" goto statement_identifier ;) })) (expression_statement "paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];" (assignment_expression "paVar6->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0]" (subscript_expression "paVar6->_M_local_buf[0]" (field_expression "paVar6->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "(pIVar15->section_name_).field_2._M_local_buf[0]" (field_expression "(pIVar15->section_name_).field_2._M_local_buf" (field_expression "(pIVar15->section_name_).field_2" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) ;) (expression_statement "sVar10 = (pIVar15->section_name_)._M_string_length;" (assignment_expression "sVar10 = (pIVar15->section_name_)._M_string_length" identifier = (field_expression "(pIVar15->section_name_)._M_string_length" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar4 = (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 = sVar10;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar10" (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 "pcVar4[sVar10] = '\0';" (assignment_expression "pcVar4[sVar10] = '\0'" (subscript_expression "pcVar4[sVar10]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar4 = (pIVar15->section_name_)._M_dataplus._M_p" identifier = (field_expression "(pIVar15->section_name_)._M_dataplus._M_p" (field_expression "(pIVar15->section_name_)._M_dataplus" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) }))) (expression_statement "(pIVar15->section_name_)._M_string_length = 0;" (assignment_expression "(pIVar15->section_name_)._M_string_length = 0" (field_expression "(pIVar15->section_name_)._M_string_length" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n        (pIVar16->section_name_)._M_dataplus._M_p = pcVar4;\n        if (paVar6 == paVar17) {\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }\n        else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        paVar6->_M_local_buf[0] = '\0';\n      }" else (compound_statement "{\n        (pIVar16->section_name_)._M_dataplus._M_p = pcVar4;\n        if (paVar6 == paVar17) {\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }\n        else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }\n        (pIVar15->section_name_)._M_string_length = 0;\n        paVar6->_M_local_buf[0] = '\0';\n      }" { (expression_statement "(pIVar16->section_name_)._M_dataplus._M_p = pcVar4;" (assignment_expression "(pIVar16->section_name_)._M_dataplus._M_p = pcVar4" (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 (paVar6 == paVar17) {\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }\n        else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }" if (parenthesized_expression "(paVar6 == paVar17)" ( (binary_expression "paVar6 == paVar17" identifier == identifier) )) (compound_statement "{\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\nLAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;\n          paVar6 = paVar18;\n        }" { (expression_statement "(pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;" (assignment_expression "(pIVar16->section_name_)._M_string_length = (pIVar15->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 "(pIVar15->section_name_)._M_string_length" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->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 "(pIVar15->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar15->section_name_).field_2" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (labeled_statement "LAB_002647c0:\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;" statement_identifier : (expression_statement "(pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18;" (assignment_expression "(pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar18" (field_expression "(pIVar15->section_name_)._M_dataplus._M_p" (field_expression "(pIVar15->section_name_)._M_dataplus" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar18" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;)) (expression_statement "paVar6 = paVar18;" (assignment_expression "paVar6 = paVar18" identifier = identifier) ;) }) (else_clause "else {\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }" else (compound_statement "{\n          sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;\n          (pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;\n          if (paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0) goto LAB_002647c0;\n          (pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;\n          (pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;\n        }" { (expression_statement "sVar10 = (pIVar16->section_name_).field_2._M_allocated_capacity;" (assignment_expression "sVar10 = (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 = (pIVar15->section_name_)._M_string_length;" (assignment_expression "(pIVar16->section_name_)._M_string_length = (pIVar15->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 "(pIVar15->section_name_)._M_string_length" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->section_name_).field_2._M_allocated_capacity;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity =\n               (pIVar15->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 "(pIVar15->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar15->section_name_).field_2" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . 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                         *)0x0) goto LAB_002647c0;" if (parenthesized_expression "(paVar6 == (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                         *)0x0)" ( (binary_expression "paVar6 == (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_002647c0;" goto statement_identifier ;)) (expression_statement "(pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6;" (assignment_expression "(pIVar15->section_name_)._M_dataplus._M_p = (pointer)paVar6" (field_expression "(pIVar15->section_name_)._M_dataplus._M_p" (field_expression "(pIVar15->section_name_)._M_dataplus" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar6" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "(pIVar15->section_name_).field_2._M_allocated_capacity = sVar10;" (assignment_expression "(pIVar15->section_name_).field_2._M_allocated_capacity = sVar10" (field_expression "(pIVar15->section_name_).field_2._M_allocated_capacity" (field_expression "(pIVar15->section_name_).field_2" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) }))) (expression_statement "(pIVar15->section_name_)._M_string_length = 0;" (assignment_expression "(pIVar15->section_name_)._M_string_length = 0" (field_expression "(pIVar15->section_name_)._M_string_length" (parenthesized_expression "(pIVar15->section_name_)" ( (field_expression "pIVar15->section_name_" 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 "pIVar16 = pIVar15;" (assignment_expression "pIVar16 = pIVar15" identifier = identifier) ;) (if_statement "if (iVar19 <= __topIndex) break;" if (parenthesized_expression "(iVar19 <= __topIndex)" ( (binary_expression "iVar19 <= __topIndex" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar1 = iVar19 + -1;" (assignment_expression "iVar1 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "iVar20 = iVar19 << 3;" (assignment_expression "iVar20 = iVar19 << 3" identifier = (binary_expression "iVar19 << 3" identifier << number_literal)) ;) (expression_statement "paVar17 = paVar18;" (assignment_expression "paVar17 = paVar18" identifier = identifier) ;) (expression_statement "__holeIndex = iVar19;" (assignment_expression "__holeIndex = iVar19" identifier = identifier) ;) })) })) (expression_statement "aVar7 = (__value->input_section_).u2_;" (assignment_expression "aVar7 = (__value->input_section_).u2_" identifier = (field_expression "(__value->input_section_).u2_" (parenthesized_expression "(__value->input_section_)" ( (field_expression "__value->input_section_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "paVar17 = &(__value->section_name_).field_2;" (assignment_expression "paVar17 = &(__value->section_name_).field_2" identifier = (pointer_expression "&(__value->section_name_).field_2" & (field_expression "(__value->section_name_).field_2" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "uVar13 = (__value->input_section_).section_order_index_;" (assignment_expression "uVar13 = (__value->input_section_).section_order_index_" identifier = (field_expression "(__value->input_section_).section_order_index_" (parenthesized_expression "(__value->input_section_)" ( (field_expression "__value->input_section_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar14 = (__value->input_section_).p2align_;" (assignment_expression "uVar14 = (__value->input_section_).p2align_" identifier = (field_expression "(__value->input_section_).p2align_" (parenthesized_expression "(__value->input_section_)" ( (field_expression "__value->input_section_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar11 = *(undefined4 *)&(__value->input_section_).u1_;" (assignment_expression "uVar11 = *(undefined4 *)&(__value->input_section_).u1_" identifier = (pointer_expression "*(undefined4 *)&(__value->input_section_).u1_" * (cast_expression "(undefined4 *)&(__value->input_section_).u1_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__value->input_section_).u1_" & (field_expression "(__value->input_section_).u1_" (parenthesized_expression "(__value->input_section_)" ( (field_expression "__value->input_section_" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "uVar9 = *(undefined4 *)((int)&(__value->input_section_).u1_ + 4);" (assignment_expression "uVar9 = *(undefined4 *)((int)&(__value->input_section_).u1_ + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&(__value->input_section_).u1_ + 4)" * (cast_expression "(undefined4 *)((int)&(__value->input_section_).u1_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(__value->input_section_).u1_ + 4)" ( (binary_expression "(int)&(__value->input_section_).u1_ + 4" (cast_expression "(int)&(__value->input_section_).u1_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(__value->input_section_).u1_" & (field_expression "(__value->input_section_).u1_" (parenthesized_expression "(__value->input_section_)" ( (field_expression "__value->input_section_" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar3 = __value->index_;" (assignment_expression "uVar3 = __value->index_" identifier = (field_expression "__value->index_" identifier -> field_identifier)) ;) (expression_statement "pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar4 = (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->input_section_).shndx_ = (__value->input_section_).shndx_;" (assignment_expression "(pIVar16->input_section_).shndx_ = (__value->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 "(__value->input_section_).shndx_" (parenthesized_expression "(__value->input_section_)" ( (field_expression "__value->input_section_" 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_ = uVar11;" (assignment_expression "*(undefined4 *)&(pIVar16->input_section_).u1_ = uVar11" (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) = uVar9;" (assignment_expression "*(undefined4 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9" (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_ = uVar13;" (assignment_expression "(pIVar16->input_section_).section_order_index_ = uVar13" (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 "pIVar16->index_ = uVar3;" (assignment_expression "pIVar16->index_ = uVar3" (field_expression "pIVar16->index_" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar8 = (__value->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar8 = (__value->section_name_)._M_dataplus._M_p" identifier = (field_expression "(__value->section_name_)._M_dataplus._M_p" (field_expression "(__value->section_name_)._M_dataplus" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "sVar10 = (__value->section_name_)._M_string_length;" (assignment_expression "sVar10 = (__value->section_name_)._M_string_length" identifier = (field_expression "(__value->section_name_)._M_string_length" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" 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 == paVar17) {\n    if (sVar10 != 0) {\n      if (sVar10 == 1) {\n        *pcVar4 = (__value->section_name_).field_2._M_local_buf[0];\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n    }\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    pcVar4[sVar10] = '\0';\n    (__value->section_name_)._M_string_length = 0;\n    *(__value->section_name_)._M_dataplus._M_p = '\0';\n    return;\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)pcVar8 == paVar17)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)pcVar8 == paVar17)" ( (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 == paVar17" (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    if (sVar10 != 0) {\n      if (sVar10 == 1) {\n        *pcVar4 = (__value->section_name_).field_2._M_local_buf[0];\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n    }\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    pcVar4[sVar10] = '\0';\n    (__value->section_name_)._M_string_length = 0;\n    *(__value->section_name_)._M_dataplus._M_p = '\0';\n    return;\n  }" { (if_statement "if (sVar10 != 0) {\n      if (sVar10 == 1) {\n        *pcVar4 = (__value->section_name_).field_2._M_local_buf[0];\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n    }" if (parenthesized_expression "(sVar10 != 0)" ( (binary_expression "sVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      if (sVar10 == 1) {\n        *pcVar4 = (__value->section_name_).field_2._M_local_buf[0];\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n    }" { (if_statement "if (sVar10 == 1) {\n        *pcVar4 = (__value->section_name_).field_2._M_local_buf[0];\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }" if (parenthesized_expression "(sVar10 == 1)" ( (binary_expression "sVar10 == 1" identifier == number_literal) )) (compound_statement "{\n        *pcVar4 = (__value->section_name_).field_2._M_local_buf[0];\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }" { (expression_statement "*pcVar4 = (__value->section_name_).field_2._M_local_buf[0];" (assignment_expression "*pcVar4 = (__value->section_name_).field_2._M_local_buf[0]" (pointer_expression "*pcVar4" * identifier) = (subscript_expression "(__value->section_name_).field_2._M_local_buf[0]" (field_expression "(__value->section_name_).field_2._M_local_buf" (field_expression "(__value->section_name_).field_2" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) ;) (expression_statement "sVar10 = (__value->section_name_)._M_string_length;" (assignment_expression "sVar10 = (__value->section_name_)._M_string_length" identifier = (field_expression "(__value->section_name_)._M_string_length" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar4 = (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)) ;) }) (else_clause "else {\n        (**(code **)(in_t9 + 0x261668))();\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }" else (compound_statement "{\n        (**(code **)(in_t9 + 0x261668))();\n        sVar10 = (__value->section_name_)._M_string_length;\n        pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;\n      }" { (expression_statement "(**(code **)(in_t9 + 0x261668))();" (call_expression "(**(code **)(in_t9 + 0x261668))()" (parenthesized_expression "(**(code **)(in_t9 + 0x261668))" ( (pointer_expression "**(code **)(in_t9 + 0x261668)" * (pointer_expression "*(code **)(in_t9 + 0x261668)" * (cast_expression "(code **)(in_t9 + 0x261668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x261668)" ( (binary_expression "in_t9 + 0x261668" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "sVar10 = (__value->section_name_)._M_string_length;" (assignment_expression "sVar10 = (__value->section_name_)._M_string_length" identifier = (field_expression "(__value->section_name_)._M_string_length" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar4 = (pIVar16->section_name_)._M_dataplus._M_p;" (assignment_expression "pcVar4 = (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 = sVar10;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar10" (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 "pcVar4[sVar10] = '\0';" (assignment_expression "pcVar4[sVar10] = '\0'" (subscript_expression "pcVar4[sVar10]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(__value->section_name_)._M_string_length = 0;" (assignment_expression "(__value->section_name_)._M_string_length = 0" (field_expression "(__value->section_name_)._M_string_length" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "*(__value->section_name_)._M_dataplus._M_p = '\0';" (assignment_expression "*(__value->section_name_)._M_dataplus._M_p = '\0'" (pointer_expression "*(__value->section_name_)._M_dataplus._M_p" * (field_expression "(__value->section_name_)._M_dataplus._M_p" (field_expression "(__value->section_name_)._M_dataplus" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return;" return ;) })) (expression_statement "sVar5 = (__value->section_name_).field_2._M_allocated_capacity;" (assignment_expression "sVar5 = (__value->section_name_).field_2._M_allocated_capacity" identifier = (field_expression "(__value->section_name_).field_2._M_allocated_capacity" (field_expression "(__value->section_name_).field_2" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (paVar18 ==\n      (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)pcVar4) {\n    (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;\n  }\n  else {\n    sVar12 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n    (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;\n    if (pcVar4 != (pointer)0x0) {\n      (__value->section_name_)._M_dataplus._M_p = pcVar4;\n      (__value->section_name_).field_2._M_allocated_capacity = sVar12;\n      (__value->section_name_)._M_string_length = 0;\n      *pcVar4 = '\0';\n      return;\n    }\n  }" if (parenthesized_expression "(paVar18 ==\n      (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)pcVar4)" ( (binary_expression "paVar18 ==\n      (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)pcVar4)" identifier == (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)pcVar4)" ( (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       *)pcVar4" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)pcVar4" identifier * (ERROR ")" )) identifier)) ))) )) (compound_statement "{\n    (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;\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) ;) (expression_statement "(pIVar16->section_name_)._M_string_length = sVar10;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar10" (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 "(pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity = sVar5" (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) = identifier) ;) }) (else_clause "else {\n    sVar12 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n    (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;\n    if (pcVar4 != (pointer)0x0) {\n      (__value->section_name_)._M_dataplus._M_p = pcVar4;\n      (__value->section_name_).field_2._M_allocated_capacity = sVar12;\n      (__value->section_name_)._M_string_length = 0;\n      *pcVar4 = '\0';\n      return;\n    }\n  }" else (compound_statement "{\n    sVar12 = (pIVar16->section_name_).field_2._M_allocated_capacity;\n    (pIVar16->section_name_)._M_dataplus._M_p = pcVar8;\n    (pIVar16->section_name_)._M_string_length = sVar10;\n    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;\n    if (pcVar4 != (pointer)0x0) {\n      (__value->section_name_)._M_dataplus._M_p = pcVar4;\n      (__value->section_name_).field_2._M_allocated_capacity = sVar12;\n      (__value->section_name_)._M_string_length = 0;\n      *pcVar4 = '\0';\n      return;\n    }\n  }" { (expression_statement "sVar12 = (pIVar16->section_name_).field_2._M_allocated_capacity;" (assignment_expression "sVar12 = (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_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) ;) (expression_statement "(pIVar16->section_name_)._M_string_length = sVar10;" (assignment_expression "(pIVar16->section_name_)._M_string_length = sVar10" (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 "(pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;" (assignment_expression "(pIVar16->section_name_).field_2._M_allocated_capacity = sVar5" (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) = identifier) ;) (if_statement "if (pcVar4 != (pointer)0x0) {\n      (__value->section_name_)._M_dataplus._M_p = pcVar4;\n      (__value->section_name_).field_2._M_allocated_capacity = sVar12;\n      (__value->section_name_)._M_string_length = 0;\n      *pcVar4 = '\0';\n      return;\n    }" if (parenthesized_expression "(pcVar4 != (pointer)0x0)" ( (binary_expression "pcVar4 != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      (__value->section_name_)._M_dataplus._M_p = pcVar4;\n      (__value->section_name_).field_2._M_allocated_capacity = sVar12;\n      (__value->section_name_)._M_string_length = 0;\n      *pcVar4 = '\0';\n      return;\n    }" { (expression_statement "(__value->section_name_)._M_dataplus._M_p = pcVar4;" (assignment_expression "(__value->section_name_)._M_dataplus._M_p = pcVar4" (field_expression "(__value->section_name_)._M_dataplus._M_p" (field_expression "(__value->section_name_)._M_dataplus" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(__value->section_name_).field_2._M_allocated_capacity = sVar12;" (assignment_expression "(__value->section_name_).field_2._M_allocated_capacity = sVar12" (field_expression "(__value->section_name_).field_2._M_allocated_capacity" (field_expression "(__value->section_name_).field_2" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(__value->section_name_)._M_string_length = 0;" (assignment_expression "(__value->section_name_)._M_string_length = 0" (field_expression "(__value->section_name_)._M_string_length" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return;" return ;) })) }))) (expression_statement "(__value->section_name_)._M_dataplus._M_p = (pointer)paVar17;" (assignment_expression "(__value->section_name_)._M_dataplus._M_p = (pointer)paVar17" (field_expression "(__value->section_name_)._M_dataplus._M_p" (field_expression "(__value->section_name_)._M_dataplus" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar17" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "(__value->section_name_)._M_string_length = 0;" (assignment_expression "(__value->section_name_)._M_string_length = 0" (field_expression "(__value->section_name_)._M_string_length" (parenthesized_expression "(__value->section_name_)" ( (field_expression "__value->section_name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "paVar17->_M_local_buf[0] = '\0';" (assignment_expression "paVar17->_M_local_buf[0] = '\0'" (subscript_expression "paVar17->_M_local_buf[0]" (field_expression "paVar17->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void std::\n     __push_heap<__normal_iterator<gold::Output_section::Input_section_sort_entry*,std::vector<gold::Output_section::Input_section_sort_entry,std::allocator<gold::Output_section::Input_section_sort_entry>>>,int,gold::Output_section::Input_section_sort_entry,__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)\n\n{\n  int iVar1;\n  code *pcVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 *puVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int in_t9;\n  int iVar16;\n  \n  iVar1 = param_2 + -1;\n  iVar16 = param_2 * 8;\n  puVar12 = (undefined4 *)(param_1 + param_2 * 0x38);\n  puVar14 = puVar12 + 9;\n  if (param_3 < param_2) {\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    puVar13 = puVar14;\n    while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }\n  }\n  uVar7 = param_4[4];\n  puVar13 = param_4 + 9;\n  uVar6 = param_4[5];\n  uVar10 = param_4[1];\n  uVar9 = param_4[2];\n  uVar8 = param_4[3];\n  uVar3 = param_4[6];\n  puVar11 = (undefined4 *)puVar12[7];\n  *puVar12 = *param_4;\n  puVar12[1] = uVar10;\n  puVar12[2] = uVar9;\n  puVar12[3] = uVar8;\n  puVar12[4] = uVar7;\n  puVar12[5] = uVar6;\n  puVar12[6] = uVar3;\n  puVar4 = (undefined4 *)param_4[7];\n  iVar1 = param_4[8];\n  if (puVar4 == puVar13) {\n    if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }\n    puVar12[8] = iVar1;\n    *(undefined1 *)((int)puVar11 + iVar1) = 0;\n    param_4[8] = 0;\n    *(undefined1 *)param_4[7] = 0;\n    return;\n  }\n  uVar3 = param_4[9];\n  if (puVar14 == puVar11) {\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n  }\n  else {\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }\n  param_4[7] = puVar13;\n  param_4[8] = 0;\n  *(undefined1 *)puVar13 = 0;\n  return;\n}\n\n" (declaration "void std::\n     __push_heap<__normal_iterator<gold::Output_section::Input_section_sort_entry*,std::vector<gold::Output_section::Input_section_sort_entry,std::allocator<gold::Output_section::Input_section_sort_entry>>>,int,gold::Output_section::Input_section_sort_entry,__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __push_heap<__normal_iterator<gold::Output_section::" identifier : : identifier < identifier < identifier : : identifier : :) identifier (ERROR "*" *) , (ERROR "std::vector<gold::Output_section::" identifier : : identifier < identifier : : identifier : :) identifier , (ERROR "std::allocator<gold::Output_section::" identifier : : identifier < identifier : : identifier : :) identifier (ERROR ">>>" >> >) , identifier , (ERROR "gold::Output_section::" identifier : : identifier : :) identifier , (ERROR "__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)\n\n{\n  int" identifier : : identifier < identifier : : identifier : : (function_declarator "Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)" identifier (ERROR ">>" >>) (parameter_list "(int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (expression_statement "iVar1 = param_2 + -1;" (assignment_expression "iVar1 = param_2 + -1" identifier = (binary_expression "param_2 + -1" identifier + number_literal)) ;) (expression_statement "iVar16 = param_2 * 8;" (assignment_expression "iVar16 = param_2 * 8" identifier = (binary_expression "param_2 * 8" identifier * number_literal)) ;) (expression_statement "puVar12 = (undefined4 *)(param_1 + param_2 * 0x38);" (assignment_expression "puVar12 = (undefined4 *)(param_1 + param_2 * 0x38)" identifier = (cast_expression "(undefined4 *)(param_1 + param_2 * 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + param_2 * 0x38)" ( (binary_expression "param_1 + param_2 * 0x38" identifier + (binary_expression "param_2 * 0x38" identifier * number_literal)) )))) ;) (expression_statement "puVar14 = puVar12 + 9;" (assignment_expression "puVar14 = puVar12 + 9" identifier = (binary_expression "puVar12 + 9" identifier + number_literal)) ;) (if_statement "if (param_3 < param_2) {\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    puVar13 = puVar14;\n    while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }\n  }" if (parenthesized_expression "(param_3 < param_2)" ( (binary_expression "param_3 < param_2" identifier < identifier) )) (compound_statement "{\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    puVar13 = puVar14;\n    while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }\n  }" { (expression_statement "pcVar2 = *(code **)(in_t9 + 0x25fe38);" (assignment_expression "pcVar2 = *(code **)(in_t9 + 0x25fe38)" identifier = (pointer_expression "*(code **)(in_t9 + 0x25fe38)" * (cast_expression "(code **)(in_t9 + 0x25fe38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x25fe38)" ( (binary_expression "in_t9 + 0x25fe38" identifier + number_literal) ))))) ;) (expression_statement "puVar13 = puVar14;" (assignment_expression "puVar13 = puVar14" identifier = identifier) ;) (while_statement "while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }" { (expression_statement "iVar15 = iVar1 / 2;" (assignment_expression "iVar15 = iVar1 / 2" identifier = (binary_expression "iVar1 / 2" identifier / number_literal)) ;) (expression_statement "puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);" (assignment_expression "puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38)" identifier = (cast_expression "(undefined4 *)(param_1 + iVar15 * 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar15 * 0x38)" ( (binary_expression "param_1 + iVar15 * 0x38" identifier + (binary_expression "iVar15 * 0x38" identifier * number_literal)) )))) ;) (expression_statement "puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);" (assignment_expression "puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8)" identifier = (cast_expression "(undefined4 *)(param_1 + (iVar16 - param_2) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + (iVar16 - param_2) * 8)" ( (binary_expression "param_1 + (iVar16 - param_2) * 8" identifier + (binary_expression "(iVar16 - param_2) * 8" (parenthesized_expression "(iVar16 - param_2)" ( (binary_expression "iVar16 - param_2" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "iVar1 = (*pcVar2)(param_5,puVar11,param_4);" (assignment_expression "iVar1 = (*pcVar2)(param_5,puVar11,param_4)" identifier = (call_expression "(*pcVar2)(param_5,puVar11,param_4)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(param_5,puVar11,param_4)" ( identifier , identifier , identifier )))) ;) (expression_statement "puVar14 = puVar13;" (assignment_expression "puVar14 = puVar13" identifier = identifier) ;) (if_statement "if (iVar1 == 0) break;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar14 = puVar11 + 9;" (assignment_expression "puVar14 = puVar11 + 9" identifier = (binary_expression "puVar11 + 9" identifier + number_literal)) ;) (expression_statement "uVar9 = puVar11[1];" (assignment_expression "uVar9 = puVar11[1]" identifier = (subscript_expression "puVar11[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = puVar11[2];" (assignment_expression "uVar8 = puVar11[2]" identifier = (subscript_expression "puVar11[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar11[3];" (assignment_expression "uVar7 = puVar11[3]" identifier = (subscript_expression "puVar11[3]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = puVar11[4];" (assignment_expression "uVar6 = puVar11[4]" identifier = (subscript_expression "puVar11[4]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = *puVar11;" (assignment_expression "uVar3 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "puVar12[5] = puVar11[5];" (assignment_expression "puVar12[5] = puVar11[5]" (subscript_expression "puVar12[5]" identifier [ number_literal ]) = (subscript_expression "puVar11[5]" identifier [ number_literal ])) ;) (expression_statement "puVar12[1] = uVar9;" (assignment_expression "puVar12[1] = uVar9" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = uVar8;" (assignment_expression "puVar12[2] = uVar8" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = uVar7;" (assignment_expression "puVar12[3] = uVar7" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[4] = uVar6;" (assignment_expression "puVar12[4] = uVar6" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar12 = uVar3;" (assignment_expression "*puVar12 = uVar3" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar4 = (undefined4 *)puVar12[7];" (assignment_expression "puVar4 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar12[6] = puVar11[6];" (assignment_expression "puVar12[6] = puVar11[6]" (subscript_expression "puVar12[6]" identifier [ number_literal ]) = (subscript_expression "puVar11[6]" identifier [ number_literal ])) ;) (if_statement "if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }" if (parenthesized_expression "((undefined4 *)puVar11[7] == puVar14)" ( (binary_expression "(undefined4 *)puVar11[7] == puVar14" (cast_expression "(undefined4 *)puVar11[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[7]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }" { (expression_statement "iVar1 = puVar11[8];" (assignment_expression "iVar1 = puVar11[8]" identifier = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" { (labeled_statement "LAB_002646cc:\n          puVar12[8] = iVar1;" statement_identifier : (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "*(undefined1 *)((int)puVar4 + iVar1) = 0;" (assignment_expression "*(undefined1 *)((int)puVar4 + iVar1) = 0" (pointer_expression "*(undefined1 *)((int)puVar4 + iVar1)" * (cast_expression "(undefined1 *)((int)puVar4 + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 + iVar1)" ( (binary_expression "(int)puVar4 + iVar1" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined1 *)puVar11[7];" (assignment_expression "puVar5 = (undefined1 *)puVar11[7]" identifier = (cast_expression "(undefined1 *)puVar11[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[7]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" else (compound_statement "{\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" { (if_statement "if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }" if (parenthesized_expression "(iVar1 != 1)" ( (binary_expression "iVar1 != 1" identifier != number_literal) )) (compound_statement "{\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }" { (expression_statement "(**(code **)(in_t9 + 0x261668))(puVar4,puVar14);" (call_expression "(**(code **)(in_t9 + 0x261668))(puVar4,puVar14)" (parenthesized_expression "(**(code **)(in_t9 + 0x261668))" ( (pointer_expression "**(code **)(in_t9 + 0x261668)" * (pointer_expression "*(code **)(in_t9 + 0x261668)" * (cast_expression "(code **)(in_t9 + 0x261668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x261668)" ( (binary_expression "in_t9 + 0x261668" identifier + number_literal) ))))) )) (argument_list "(puVar4,puVar14)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = puVar11[8];" (assignment_expression "iVar1 = puVar11[8]" identifier = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (expression_statement "puVar4 = (undefined4 *)puVar12[7];" (assignment_expression "puVar4 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_002646cc;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);" (assignment_expression "*(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9)" (pointer_expression "*(undefined1 *)puVar4" * (cast_expression "(undefined1 *)puVar4" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(puVar11 + 9)" * (cast_expression "(undefined1 *)(puVar11 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 9)" ( (binary_expression "puVar11 + 9" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = puVar11[8];" (assignment_expression "iVar1 = puVar11[8]" identifier = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puVar12[7] + iVar1) = 0;" (assignment_expression "*(undefined1 *)(puVar12[7] + iVar1) = 0" (pointer_expression "*(undefined1 *)(puVar12[7] + iVar1)" * (cast_expression "(undefined1 *)(puVar12[7] + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12[7] + iVar1)" ( (binary_expression "puVar12[7] + iVar1" (subscript_expression "puVar12[7]" identifier [ number_literal ]) + identifier) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined1 *)puVar11[7];" (assignment_expression "puVar5 = (undefined1 *)puVar11[7]" identifier = (cast_expression "(undefined1 *)puVar11[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[7]" identifier [ number_literal ]))) ;) }))) (expression_statement "puVar11[8] = 0;" (assignment_expression "puVar11[8] = 0" (subscript_expression "puVar11[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) }) (else_clause "else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }" else (compound_statement "{\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }" { (expression_statement "puVar12[7] = (undefined4 *)puVar11[7];" (assignment_expression "puVar12[7] = (undefined4 *)puVar11[7]" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = (cast_expression "(undefined4 *)puVar11[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[7]" identifier [ number_literal ]))) ;) (if_statement "if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }" if (parenthesized_expression "(puVar4 == puVar13)" ( (binary_expression "puVar4 == puVar13" identifier == identifier) )) (compound_statement "{\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }" { (expression_statement "puVar12[8] = puVar11[8];" (assignment_expression "puVar12[8] = puVar11[8]" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (expression_statement "puVar12[9] = puVar11[9];" (assignment_expression "puVar12[9] = puVar11[9]" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = (subscript_expression "puVar11[9]" identifier [ number_literal ])) ;) (labeled_statement "LAB_002647c0:\n          puVar11[7] = puVar14;" statement_identifier : (expression_statement "puVar11[7] = puVar14;" (assignment_expression "puVar11[7] = puVar14" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "puVar4 = puVar14;" (assignment_expression "puVar4 = puVar14" identifier = identifier) ;) }) (else_clause "else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }" else (compound_statement "{\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }" { (expression_statement "uVar3 = puVar12[9];" (assignment_expression "uVar3 = puVar12[9]" identifier = (subscript_expression "puVar12[9]" identifier [ number_literal ])) ;) (expression_statement "puVar12[8] = puVar11[8];" (assignment_expression "puVar12[8] = puVar11[8]" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = (subscript_expression "puVar11[8]" identifier [ number_literal ])) ;) (expression_statement "puVar12[9] = puVar11[9];" (assignment_expression "puVar12[9] = puVar11[9]" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = (subscript_expression "puVar11[9]" identifier [ number_literal ])) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002647c0;" goto statement_identifier ;)) (expression_statement "puVar11[7] = puVar4;" (assignment_expression "puVar11[7] = puVar4" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[9] = uVar3;" (assignment_expression "puVar11[9] = uVar3" (subscript_expression "puVar11[9]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "puVar11[8] = 0;" (assignment_expression "puVar11[8] = 0" (subscript_expression "puVar11[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)puVar4 = 0;" (assignment_expression "*(undefined1 *)puVar4 = 0" (pointer_expression "*(undefined1 *)puVar4" * (cast_expression "(undefined1 *)puVar4" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) }))) (expression_statement "puVar12 = puVar11;" (assignment_expression "puVar12 = puVar11" identifier = identifier) ;) (if_statement "if (iVar15 <= param_3) break;" if (parenthesized_expression "(iVar15 <= param_3)" ( (binary_expression "iVar15 <= param_3" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar1 = iVar15 + -1;" (assignment_expression "iVar1 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar15 << 3;" (assignment_expression "iVar16 = iVar15 << 3" identifier = (binary_expression "iVar15 << 3" identifier << number_literal)) ;) (expression_statement "puVar13 = puVar14;" (assignment_expression "puVar13 = puVar14" identifier = identifier) ;) (expression_statement "param_2 = iVar15;" (assignment_expression "param_2 = iVar15" identifier = identifier) ;) })) })) (expression_statement "uVar7 = param_4[4];" (assignment_expression "uVar7 = param_4[4]" identifier = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "puVar13 = param_4 + 9;" (assignment_expression "puVar13 = param_4 + 9" identifier = (binary_expression "param_4 + 9" identifier + number_literal)) ;) (expression_statement "uVar6 = param_4[5];" (assignment_expression "uVar6 = param_4[5]" identifier = (subscript_expression "param_4[5]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = param_4[1];" (assignment_expression "uVar10 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = param_4[2];" (assignment_expression "uVar9 = param_4[2]" identifier = (subscript_expression "param_4[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_4[3];" (assignment_expression "uVar8 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_4[6];" (assignment_expression "uVar3 = param_4[6]" identifier = (subscript_expression "param_4[6]" identifier [ number_literal ])) ;) (expression_statement "puVar11 = (undefined4 *)puVar12[7];" (assignment_expression "puVar11 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) (expression_statement "*puVar12 = *param_4;" (assignment_expression "*puVar12 = *param_4" (pointer_expression "*puVar12" * identifier) = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "puVar12[1] = uVar10;" (assignment_expression "puVar12[1] = uVar10" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = uVar9;" (assignment_expression "puVar12[2] = uVar9" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = uVar8;" (assignment_expression "puVar12[3] = uVar8" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[4] = uVar7;" (assignment_expression "puVar12[4] = uVar7" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[5] = uVar6;" (assignment_expression "puVar12[5] = uVar6" (subscript_expression "puVar12[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[6] = uVar3;" (assignment_expression "puVar12[6] = uVar3" (subscript_expression "puVar12[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar4 = (undefined4 *)param_4[7];" (assignment_expression "puVar4 = (undefined4 *)param_4[7]" identifier = (cast_expression "(undefined4 *)param_4[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[7]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = param_4[8];" (assignment_expression "iVar1 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (if_statement "if (puVar4 == puVar13) {\n    if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }\n    puVar12[8] = iVar1;\n    *(undefined1 *)((int)puVar11 + iVar1) = 0;\n    param_4[8] = 0;\n    *(undefined1 *)param_4[7] = 0;\n    return;\n  }" if (parenthesized_expression "(puVar4 == puVar13)" ( (binary_expression "puVar4 == puVar13" identifier == identifier) )) (compound_statement "{\n    if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }\n    puVar12[8] = iVar1;\n    *(undefined1 *)((int)puVar11 + iVar1) = 0;\n    param_4[8] = 0;\n    *(undefined1 *)param_4[7] = 0;\n    return;\n  }" { (if_statement "if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }" { (if_statement "if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" { (expression_statement "*(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);" (assignment_expression "*(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9)" (pointer_expression "*(undefined1 *)puVar11" * (cast_expression "(undefined1 *)puVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(param_4 + 9)" * (cast_expression "(undefined1 *)(param_4 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 9)" ( (binary_expression "param_4 + 9" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = param_4[8];" (assignment_expression "iVar1 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "puVar11 = (undefined4 *)puVar12[7];" (assignment_expression "puVar11 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" else (compound_statement "{\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" { (expression_statement "(**(code **)(in_t9 + 0x261668))();" (call_expression "(**(code **)(in_t9 + 0x261668))()" (parenthesized_expression "(**(code **)(in_t9 + 0x261668))" ( (pointer_expression "**(code **)(in_t9 + 0x261668)" * (pointer_expression "*(code **)(in_t9 + 0x261668)" * (cast_expression "(code **)(in_t9 + 0x261668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x261668)" ( (binary_expression "in_t9 + 0x261668" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = param_4[8];" (assignment_expression "iVar1 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "puVar11 = (undefined4 *)puVar12[7];" (assignment_expression "puVar11 = (undefined4 *)puVar12[7]" identifier = (cast_expression "(undefined4 *)puVar12[7]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[7]" identifier [ number_literal ]))) ;) }))) })) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)((int)puVar11 + iVar1) = 0;" (assignment_expression "*(undefined1 *)((int)puVar11 + iVar1) = 0" (pointer_expression "*(undefined1 *)((int)puVar11 + iVar1)" * (cast_expression "(undefined1 *)((int)puVar11 + iVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + iVar1)" ( (binary_expression "(int)puVar11 + iVar1" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "param_4[8] = 0;" (assignment_expression "param_4[8] = 0" (subscript_expression "param_4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)param_4[7] = 0;" (assignment_expression "*(undefined1 *)param_4[7] = 0" (pointer_expression "*(undefined1 *)param_4[7]" * (cast_expression "(undefined1 *)param_4[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[7]" identifier [ number_literal ]))) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "uVar3 = param_4[9];" (assignment_expression "uVar3 = param_4[9]" identifier = (subscript_expression "param_4[9]" identifier [ number_literal ])) ;) (if_statement "if (puVar14 == puVar11) {\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n  }\n  else {\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }" if (parenthesized_expression "(puVar14 == puVar11)" ( (binary_expression "puVar14 == puVar11" identifier == identifier) )) (compound_statement "{\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n  }" { (expression_statement "puVar12[7] = puVar4;" (assignment_expression "puVar12[7] = puVar4" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[9] = uVar3;" (assignment_expression "puVar12[9] = uVar3" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }" else (compound_statement "{\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }" { (expression_statement "uVar6 = puVar12[9];" (assignment_expression "uVar6 = puVar12[9]" identifier = (subscript_expression "puVar12[9]" identifier [ number_literal ])) ;) (expression_statement "puVar12[7] = puVar4;" (assignment_expression "puVar12[7] = puVar4" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[9] = uVar3;" (assignment_expression "puVar12[9] = uVar3" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }" if (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" ( (binary_expression "puVar11 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }" { (expression_statement "param_4[7] = puVar11;" (assignment_expression "param_4[7] = puVar11" (subscript_expression "param_4[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[9] = uVar6;" (assignment_expression "param_4[9] = uVar6" (subscript_expression "param_4[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[8] = 0;" (assignment_expression "param_4[8] = 0" (subscript_expression "param_4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)puVar11 = 0;" (assignment_expression "*(undefined1 *)puVar11 = 0" (pointer_expression "*(undefined1 *)puVar11" * (cast_expression "(undefined1 *)puVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (return_statement "return;" return ;) })) }))) (expression_statement "param_4[7] = puVar13;" (assignment_expression "param_4[7] = puVar13" (subscript_expression "param_4[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[8] = 0;" (assignment_expression "param_4[8] = 0" (subscript_expression "param_4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)puVar13 = 0;" (assignment_expression "*(undefined1 *)puVar13 = 0" (pointer_expression "*(undefined1 *)puVar13" * (cast_expression "(undefined1 *)puVar13" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ERROR IDENT : : IDENT < IDENT < IDENT : : IDENT : :) IDENT (ERROR *) , (ERROR IDENT : : IDENT < IDENT : : IDENT : :) IDENT , (ERROR IDENT : : IDENT < IDENT : : IDENT : :) IDENT (ERROR >> >) , IDENT , (ERROR IDENT : : IDENT : :) IDENT , (ERROR IDENT : : IDENT < IDENT : : IDENT : : (function_declarator IDENT (ERROR >>) (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) { 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) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) = LIT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (return_statement return ;) })) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (return_statement return ;) (ERROR }))
(declaration "void std::\n     __push_heap<__normal_iterator<gold::Output_section::Input_section_sort_entry*,std::vector<gold::Output_section::Input_section_sort_entry,std::allocator<gold::Output_section::Input_section_sort_entry>>>,int,gold::Output_section::Input_section_sort_entry,__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)\n\n{\n  int iVar1;" (primitive_type "void") (ERROR "std::\n     __push_heap<__normal_iterator<gold::Output_section::" (identifier "std") (: ":") (: ":") (identifier "__push_heap") (< "<") (identifier "__normal_iterator") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Output_section") (: ":") (: ":")) (identifier "Input_section_sort_entry") (ERROR "*" (* "*")) (, ",") (ERROR "std::vector<gold::Output_section::" (identifier "std") (: ":") (: ":") (identifier "vector") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Output_section") (: ":") (: ":")) (identifier "Input_section_sort_entry") (, ",") (ERROR "std::allocator<gold::Output_section::" (identifier "std") (: ":") (: ":") (identifier "allocator") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Output_section") (: ":") (: ":")) (identifier "Input_section_sort_entry") (ERROR ">>>" (>> ">>") (> ">")) (, ",") (identifier "int") (, ",") (ERROR "gold::Output_section::" (identifier "gold") (: ":") (: ":") (identifier "Output_section") (: ":") (: ":")) (identifier "Input_section_sort_entry") (, ",") (ERROR "__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)\n\n{\n  int" (identifier "__ops") (: ":") (: ":") (identifier "_Iter_comp_val") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Output_section") (: ":") (: ":") (function_declarator "Input_section_sort_compare>>\n               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)" (identifier "Input_section_sort_compare") (ERROR ">>" (>> ">>")) (parameter_list "(int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 *param_4" (type_identifier "undefined4") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")"))) ({ "{") (primitive_type "int")) (identifier "iVar1") (; ";")) (declaration "code *pcVar2;" (type_identifier "code") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (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 "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined4 *puVar13;" (type_identifier "undefined4") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int in_t9;" (primitive_type "int") (identifier "in_t9") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (expression_statement "iVar1 = param_2 + -1;" (assignment_expression "iVar1 = param_2 + -1" (identifier "iVar1") (= "=") (binary_expression "param_2 + -1" (identifier "param_2") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar16 = param_2 * 8;" (assignment_expression "iVar16 = param_2 * 8" (identifier "iVar16") (= "=") (binary_expression "param_2 * 8" (identifier "param_2") (* "*") (number_literal "8"))) (; ";")) (expression_statement "puVar12 = (undefined4 *)(param_1 + param_2 * 0x38);" (assignment_expression "puVar12 = (undefined4 *)(param_1 + param_2 * 0x38)" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)(param_1 + param_2 * 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + param_2 * 0x38)" (( "(") (binary_expression "param_1 + param_2 * 0x38" (identifier "param_1") (+ "+") (binary_expression "param_2 * 0x38" (identifier "param_2") (* "*") (number_literal "0x38"))) () ")")))) (; ";")) (expression_statement "puVar14 = puVar12 + 9;" (assignment_expression "puVar14 = puVar12 + 9" (identifier "puVar14") (= "=") (binary_expression "puVar12 + 9" (identifier "puVar12") (+ "+") (number_literal "9"))) (; ";")) (if_statement "if (param_3 < param_2) {\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    puVar13 = puVar14;\n    while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }\n  }" (if "if") (parenthesized_expression "(param_3 < param_2)" (( "(") (binary_expression "param_3 < param_2" (identifier "param_3") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n    pcVar2 = *(code **)(in_t9 + 0x25fe38);\n    puVar13 = puVar14;\n    while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }\n  }" ({ "{") (expression_statement "pcVar2 = *(code **)(in_t9 + 0x25fe38);" (assignment_expression "pcVar2 = *(code **)(in_t9 + 0x25fe38)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(in_t9 + 0x25fe38)" (* "*") (cast_expression "(code **)(in_t9 + 0x25fe38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x25fe38)" (( "(") (binary_expression "in_t9 + 0x25fe38" (identifier "in_t9") (+ "+") (number_literal "0x25fe38")) () ")"))))) (; ";")) (expression_statement "puVar13 = puVar14;" (assignment_expression "puVar13 = puVar14" (identifier "puVar13") (= "=") (identifier "puVar14")) (; ";")) (while_statement "while( true ) {\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      iVar15 = iVar1 / 2;\n      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);\n      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);\n      iVar1 = (*pcVar2)(param_5,puVar11,param_4);\n      puVar14 = puVar13;\n      if (iVar1 == 0) break;\n      puVar14 = puVar11 + 9;\n      uVar9 = puVar11[1];\n      uVar8 = puVar11[2];\n      uVar7 = puVar11[3];\n      uVar6 = puVar11[4];\n      uVar3 = *puVar11;\n      puVar12[5] = puVar11[5];\n      puVar12[1] = uVar9;\n      puVar12[2] = uVar8;\n      puVar12[3] = uVar7;\n      puVar12[4] = uVar6;\n      *puVar12 = uVar3;\n      puVar4 = (undefined4 *)puVar12[7];\n      puVar12[6] = puVar11[6];\n      if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }\n      puVar12 = puVar11;\n      if (iVar15 <= param_3) break;\n      iVar1 = iVar15 + -1;\n      iVar16 = iVar15 << 3;\n      puVar13 = puVar14;\n      param_2 = iVar15;\n    }" ({ "{") (expression_statement "iVar15 = iVar1 / 2;" (assignment_expression "iVar15 = iVar1 / 2" (identifier "iVar15") (= "=") (binary_expression "iVar1 / 2" (identifier "iVar1") (/ "/") (number_literal "2"))) (; ";")) (expression_statement "puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);" (assignment_expression "puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(param_1 + iVar15 * 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + iVar15 * 0x38)" (( "(") (binary_expression "param_1 + iVar15 * 0x38" (identifier "param_1") (+ "+") (binary_expression "iVar15 * 0x38" (identifier "iVar15") (* "*") (number_literal "0x38"))) () ")")))) (; ";")) (expression_statement "puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);" (assignment_expression "puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8)" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)(param_1 + (iVar16 - param_2) * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + (iVar16 - param_2) * 8)" (( "(") (binary_expression "param_1 + (iVar16 - param_2) * 8" (identifier "param_1") (+ "+") (binary_expression "(iVar16 - param_2) * 8" (parenthesized_expression "(iVar16 - param_2)" (( "(") (binary_expression "iVar16 - param_2" (identifier "iVar16") (- "-") (identifier "param_2")) () ")")) (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "iVar1 = (*pcVar2)(param_5,puVar11,param_4);" (assignment_expression "iVar1 = (*pcVar2)(param_5,puVar11,param_4)" (identifier "iVar1") (= "=") (call_expression "(*pcVar2)(param_5,puVar11,param_4)" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "(param_5,puVar11,param_4)" (( "(") (identifier "param_5") (, ",") (identifier "puVar11") (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "puVar14 = puVar13;" (assignment_expression "puVar14 = puVar13" (identifier "puVar14") (= "=") (identifier "puVar13")) (; ";")) (if_statement "if (iVar1 == 0) break;" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar14 = puVar11 + 9;" (assignment_expression "puVar14 = puVar11 + 9" (identifier "puVar14") (= "=") (binary_expression "puVar11 + 9" (identifier "puVar11") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "uVar9 = puVar11[1];" (assignment_expression "uVar9 = puVar11[1]" (identifier "uVar9") (= "=") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar8 = puVar11[2];" (assignment_expression "uVar8 = puVar11[2]" (identifier "uVar8") (= "=") (subscript_expression "puVar11[2]" (identifier "puVar11") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar7 = puVar11[3];" (assignment_expression "uVar7 = puVar11[3]" (identifier "uVar7") (= "=") (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar6 = puVar11[4];" (assignment_expression "uVar6 = puVar11[4]" (identifier "uVar6") (= "=") (subscript_expression "puVar11[4]" (identifier "puVar11") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar3 = *puVar11;" (assignment_expression "uVar3 = *puVar11" (identifier "uVar3") (= "=") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) (; ";")) (expression_statement "puVar12[5] = puVar11[5];" (assignment_expression "puVar12[5] = puVar11[5]" (subscript_expression "puVar12[5]" (identifier "puVar12") ([ "[") (number_literal "5") (] "]")) (= "=") (subscript_expression "puVar11[5]" (identifier "puVar11") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "puVar12[1] = uVar9;" (assignment_expression "puVar12[1] = uVar9" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar12[2] = uVar8;" (assignment_expression "puVar12[2] = uVar8" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar12[3] = uVar7;" (assignment_expression "puVar12[3] = uVar7" (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar12[4] = uVar6;" (assignment_expression "puVar12[4] = uVar6" (subscript_expression "puVar12[4]" (identifier "puVar12") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*puVar12 = uVar3;" (assignment_expression "*puVar12 = uVar3" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar4 = (undefined4 *)puVar12[7];" (assignment_expression "puVar4 = (undefined4 *)puVar12[7]" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)puVar12[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "puVar12[6] = puVar11[6];" (assignment_expression "puVar12[6] = puVar11[6]" (subscript_expression "puVar12[6]" (identifier "puVar12") ([ "[") (number_literal "6") (] "]")) (= "=") (subscript_expression "puVar11[6]" (identifier "puVar11") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if ((undefined4 *)puVar11[7] == puVar14) {\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }\n      else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }" (if "if") (parenthesized_expression "((undefined4 *)puVar11[7] == puVar14)" (( "(") (binary_expression "(undefined4 *)puVar11[7] == puVar14" (cast_expression "(undefined4 *)puVar11[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]"))) (== "==") (identifier "puVar14")) () ")")) (compound_statement "{\n        iVar1 = puVar11[8];\n        if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        puVar11[8] = 0;\n        *puVar5 = 0;\n      }" ({ "{") (expression_statement "iVar1 = puVar11[8];" (assignment_expression "iVar1 = puVar11[8]" (identifier "iVar1") (= "=") (subscript_expression "puVar11[8]" (identifier "puVar11") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (iVar1 == 0) {\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }\n        else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002646cc:\n          puVar12[8] = iVar1;\n          *(undefined1 *)((int)puVar4 + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" ({ "{") (labeled_statement "LAB_002646cc:\n          puVar12[8] = iVar1;" (statement_identifier "LAB_002646cc") (: ":") (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "iVar1")) (; ";"))) (expression_statement "*(undefined1 *)((int)puVar4 + iVar1) = 0;" (assignment_expression "*(undefined1 *)((int)puVar4 + iVar1) = 0" (pointer_expression "*(undefined1 *)((int)puVar4 + iVar1)" (* "*") (cast_expression "(undefined1 *)((int)puVar4 + iVar1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar4 + iVar1)" (( "(") (binary_expression "(int)puVar4 + iVar1" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = (undefined1 *)puVar11[7];" (assignment_expression "puVar5 = (undefined1 *)puVar11[7]" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)puVar11[7]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" (else "else") (compound_statement "{\n          if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }\n          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);\n          iVar1 = puVar11[8];\n          puVar12[8] = iVar1;\n          *(undefined1 *)(puVar12[7] + iVar1) = 0;\n          puVar5 = (undefined1 *)puVar11[7];\n        }" ({ "{") (if_statement "if (iVar1 != 1) {\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }" (if "if") (parenthesized_expression "(iVar1 != 1)" (( "(") (binary_expression "iVar1 != 1" (identifier "iVar1") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);\n            iVar1 = puVar11[8];\n            puVar4 = (undefined4 *)puVar12[7];\n            goto LAB_002646cc;\n          }" ({ "{") (expression_statement "(**(code **)(in_t9 + 0x261668))(puVar4,puVar14);" (call_expression "(**(code **)(in_t9 + 0x261668))(puVar4,puVar14)" (parenthesized_expression "(**(code **)(in_t9 + 0x261668))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x261668)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x261668)" (* "*") (cast_expression "(code **)(in_t9 + 0x261668)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x261668)" (( "(") (binary_expression "in_t9 + 0x261668" (identifier "in_t9") (+ "+") (number_literal "0x261668")) () ")"))))) () ")")) (argument_list "(puVar4,puVar14)" (( "(") (identifier "puVar4") (, ",") (identifier "puVar14") () ")"))) (; ";")) (expression_statement "iVar1 = puVar11[8];" (assignment_expression "iVar1 = puVar11[8]" (identifier "iVar1") (= "=") (subscript_expression "puVar11[8]" (identifier "puVar11") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "puVar4 = (undefined4 *)puVar12[7];" (assignment_expression "puVar4 = (undefined4 *)puVar12[7]" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)puVar12[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")))) (; ";")) (goto_statement "goto LAB_002646cc;" (goto "goto") (statement_identifier "LAB_002646cc") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);" (assignment_expression "*(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9)" (pointer_expression "*(undefined1 *)puVar4" (* "*") (cast_expression "(undefined1 *)puVar4" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (pointer_expression "*(undefined1 *)(puVar11 + 9)" (* "*") (cast_expression "(undefined1 *)(puVar11 + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 9)" (( "(") (binary_expression "puVar11 + 9" (identifier "puVar11") (+ "+") (number_literal "9")) () ")"))))) (; ";")) (expression_statement "iVar1 = puVar11[8];" (assignment_expression "iVar1 = puVar11[8]" (identifier "iVar1") (= "=") (subscript_expression "puVar11[8]" (identifier "puVar11") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "*(undefined1 *)(puVar12[7] + iVar1) = 0;" (assignment_expression "*(undefined1 *)(puVar12[7] + iVar1) = 0" (pointer_expression "*(undefined1 *)(puVar12[7] + iVar1)" (* "*") (cast_expression "(undefined1 *)(puVar12[7] + iVar1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12[7] + iVar1)" (( "(") (binary_expression "puVar12[7] + iVar1" (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = (undefined1 *)puVar11[7];" (assignment_expression "puVar5 = (undefined1 *)puVar11[7]" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)puVar11[7]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]")))) (; ";")) (} "}")))) (expression_statement "puVar11[8] = 0;" (assignment_expression "puVar11[8] = 0" (subscript_expression "puVar11[8]" (identifier "puVar11") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }" (else "else") (compound_statement "{\n        puVar12[7] = (undefined4 *)puVar11[7];\n        if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }\n        puVar11[8] = 0;\n        *(undefined1 *)puVar4 = 0;\n      }" ({ "{") (expression_statement "puVar12[7] = (undefined4 *)puVar11[7];" (assignment_expression "puVar12[7] = (undefined4 *)puVar11[7]" (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(undefined4 *)puVar11[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]")))) (; ";")) (if_statement "if (puVar4 == puVar13) {\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }\n        else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }" (if "if") (parenthesized_expression "(puVar4 == puVar13)" (( "(") (binary_expression "puVar4 == puVar13" (identifier "puVar4") (== "==") (identifier "puVar13")) () ")")) (compound_statement "{\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\nLAB_002647c0:\n          puVar11[7] = puVar14;\n          puVar4 = puVar14;\n        }" ({ "{") (expression_statement "puVar12[8] = puVar11[8];" (assignment_expression "puVar12[8] = puVar11[8]" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (subscript_expression "puVar11[8]" (identifier "puVar11") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "puVar12[9] = puVar11[9];" (assignment_expression "puVar12[9] = puVar11[9]" (subscript_expression "puVar12[9]" (identifier "puVar12") ([ "[") (number_literal "9") (] "]")) (= "=") (subscript_expression "puVar11[9]" (identifier "puVar11") ([ "[") (number_literal "9") (] "]"))) (; ";")) (labeled_statement "LAB_002647c0:\n          puVar11[7] = puVar14;" (statement_identifier "LAB_002647c0") (: ":") (expression_statement "puVar11[7] = puVar14;" (assignment_expression "puVar11[7] = puVar14" (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "puVar14")) (; ";"))) (expression_statement "puVar4 = puVar14;" (assignment_expression "puVar4 = puVar14" (identifier "puVar4") (= "=") (identifier "puVar14")) (; ";")) (} "}")) (else_clause "else {\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }" (else "else") (compound_statement "{\n          uVar3 = puVar12[9];\n          puVar12[8] = puVar11[8];\n          puVar12[9] = puVar11[9];\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;\n          puVar11[7] = puVar4;\n          puVar11[9] = uVar3;\n        }" ({ "{") (expression_statement "uVar3 = puVar12[9];" (assignment_expression "uVar3 = puVar12[9]" (identifier "uVar3") (= "=") (subscript_expression "puVar12[9]" (identifier "puVar12") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "puVar12[8] = puVar11[8];" (assignment_expression "puVar12[8] = puVar11[8]" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (subscript_expression "puVar11[8]" (identifier "puVar11") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "puVar12[9] = puVar11[9];" (assignment_expression "puVar12[9] = puVar11[9]" (subscript_expression "puVar12[9]" (identifier "puVar12") ([ "[") (number_literal "9") (] "]")) (= "=") (subscript_expression "puVar11[9]" (identifier "puVar11") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;" (if "if") (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 == (undefined4 *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002647c0;" (goto "goto") (statement_identifier "LAB_002647c0") (; ";"))) (expression_statement "puVar11[7] = puVar4;" (assignment_expression "puVar11[7] = puVar4" (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "puVar4")) (; ";")) (expression_statement "puVar11[9] = uVar3;" (assignment_expression "puVar11[9] = uVar3" (subscript_expression "puVar11[9]" (identifier "puVar11") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (} "}")))) (expression_statement "puVar11[8] = 0;" (assignment_expression "puVar11[8] = 0" (subscript_expression "puVar11[8]" (identifier "puVar11") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)puVar4 = 0;" (assignment_expression "*(undefined1 *)puVar4 = 0" (pointer_expression "*(undefined1 *)puVar4" (* "*") (cast_expression "(undefined1 *)puVar4" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "puVar12 = puVar11;" (assignment_expression "puVar12 = puVar11" (identifier "puVar12") (= "=") (identifier "puVar11")) (; ";")) (if_statement "if (iVar15 <= param_3) break;" (if "if") (parenthesized_expression "(iVar15 <= param_3)" (( "(") (binary_expression "iVar15 <= param_3" (identifier "iVar15") (<= "<=") (identifier "param_3")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar1 = iVar15 + -1;" (assignment_expression "iVar1 = iVar15 + -1" (identifier "iVar1") (= "=") (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar16 = iVar15 << 3;" (assignment_expression "iVar16 = iVar15 << 3" (identifier "iVar16") (= "=") (binary_expression "iVar15 << 3" (identifier "iVar15") (<< "<<") (number_literal "3"))) (; ";")) (expression_statement "puVar13 = puVar14;" (assignment_expression "puVar13 = puVar14" (identifier "puVar13") (= "=") (identifier "puVar14")) (; ";")) (expression_statement "param_2 = iVar15;" (assignment_expression "param_2 = iVar15" (identifier "param_2") (= "=") (identifier "iVar15")) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar7 = param_4[4];" (assignment_expression "uVar7 = param_4[4]" (identifier "uVar7") (= "=") (subscript_expression "param_4[4]" (identifier "param_4") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "puVar13 = param_4 + 9;" (assignment_expression "puVar13 = param_4 + 9" (identifier "puVar13") (= "=") (binary_expression "param_4 + 9" (identifier "param_4") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "uVar6 = param_4[5];" (assignment_expression "uVar6 = param_4[5]" (identifier "uVar6") (= "=") (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "uVar10 = param_4[1];" (assignment_expression "uVar10 = param_4[1]" (identifier "uVar10") (= "=") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar9 = param_4[2];" (assignment_expression "uVar9 = param_4[2]" (identifier "uVar9") (= "=") (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar8 = param_4[3];" (assignment_expression "uVar8 = param_4[3]" (identifier "uVar8") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar3 = param_4[6];" (assignment_expression "uVar3 = param_4[6]" (identifier "uVar3") (= "=") (subscript_expression "param_4[6]" (identifier "param_4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "puVar11 = (undefined4 *)puVar12[7];" (assignment_expression "puVar11 = (undefined4 *)puVar12[7]" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)puVar12[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "*puVar12 = *param_4;" (assignment_expression "*puVar12 = *param_4" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (expression_statement "puVar12[1] = uVar10;" (assignment_expression "puVar12[1] = uVar10" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar12[2] = uVar9;" (assignment_expression "puVar12[2] = uVar9" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar12[3] = uVar8;" (assignment_expression "puVar12[3] = uVar8" (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar12[4] = uVar7;" (assignment_expression "puVar12[4] = uVar7" (subscript_expression "puVar12[4]" (identifier "puVar12") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar12[5] = uVar6;" (assignment_expression "puVar12[5] = uVar6" (subscript_expression "puVar12[5]" (identifier "puVar12") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "puVar12[6] = uVar3;" (assignment_expression "puVar12[6] = uVar3" (subscript_expression "puVar12[6]" (identifier "puVar12") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar4 = (undefined4 *)param_4[7];" (assignment_expression "puVar4 = (undefined4 *)param_4[7]" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)param_4[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[7]" (identifier "param_4") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "iVar1 = param_4[8];" (assignment_expression "iVar1 = param_4[8]" (identifier "iVar1") (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (puVar4 == puVar13) {\n    if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }\n    puVar12[8] = iVar1;\n    *(undefined1 *)((int)puVar11 + iVar1) = 0;\n    param_4[8] = 0;\n    *(undefined1 *)param_4[7] = 0;\n    return;\n  }" (if "if") (parenthesized_expression "(puVar4 == puVar13)" (( "(") (binary_expression "puVar4 == puVar13" (identifier "puVar4") (== "==") (identifier "puVar13")) () ")")) (compound_statement "{\n    if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }\n    puVar12[8] = iVar1;\n    *(undefined1 *)((int)puVar11 + iVar1) = 0;\n    param_4[8] = 0;\n    *(undefined1 *)param_4[7] = 0;\n    return;\n  }" ({ "{") (if_statement "if (iVar1 != 0) {\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n    }" ({ "{") (if_statement "if (iVar1 == 1) {\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }\n      else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" (if "if") (parenthesized_expression "(iVar1 == 1)" (( "(") (binary_expression "iVar1 == 1" (identifier "iVar1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" ({ "{") (expression_statement "*(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);" (assignment_expression "*(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9)" (pointer_expression "*(undefined1 *)puVar11" (* "*") (cast_expression "(undefined1 *)puVar11" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar11"))) (= "=") (pointer_expression "*(undefined1 *)(param_4 + 9)" (* "*") (cast_expression "(undefined1 *)(param_4 + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 9)" (( "(") (binary_expression "param_4 + 9" (identifier "param_4") (+ "+") (number_literal "9")) () ")"))))) (; ";")) (expression_statement "iVar1 = param_4[8];" (assignment_expression "iVar1 = param_4[8]" (identifier "iVar1") (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "puVar11 = (undefined4 *)puVar12[7];" (assignment_expression "puVar11 = (undefined4 *)puVar12[7]" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)puVar12[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" (else "else") (compound_statement "{\n        (**(code **)(in_t9 + 0x261668))();\n        iVar1 = param_4[8];\n        puVar11 = (undefined4 *)puVar12[7];\n      }" ({ "{") (expression_statement "(**(code **)(in_t9 + 0x261668))();" (call_expression "(**(code **)(in_t9 + 0x261668))()" (parenthesized_expression "(**(code **)(in_t9 + 0x261668))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x261668)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x261668)" (* "*") (cast_expression "(code **)(in_t9 + 0x261668)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x261668)" (( "(") (binary_expression "in_t9 + 0x261668" (identifier "in_t9") (+ "+") (number_literal "0x261668")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar1 = param_4[8];" (assignment_expression "iVar1 = param_4[8]" (identifier "iVar1") (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "puVar11 = (undefined4 *)puVar12[7];" (assignment_expression "puVar11 = (undefined4 *)puVar12[7]" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)puVar12[7]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar11 + iVar1) = 0;" (assignment_expression "*(undefined1 *)((int)puVar11 + iVar1) = 0" (pointer_expression "*(undefined1 *)((int)puVar11 + iVar1)" (* "*") (cast_expression "(undefined1 *)((int)puVar11 + iVar1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + iVar1)" (( "(") (binary_expression "(int)puVar11 + iVar1" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_4[8] = 0;" (assignment_expression "param_4[8] = 0" (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)param_4[7] = 0;" (assignment_expression "*(undefined1 *)param_4[7] = 0" (pointer_expression "*(undefined1 *)param_4[7]" (* "*") (cast_expression "(undefined1 *)param_4[7]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[7]" (identifier "param_4") ([ "[") (number_literal "7") (] "]")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar3 = param_4[9];" (assignment_expression "uVar3 = param_4[9]" (identifier "uVar3") (= "=") (subscript_expression "param_4[9]" (identifier "param_4") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (puVar14 == puVar11) {\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n  }\n  else {\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(puVar14 == puVar11)" (( "(") (binary_expression "puVar14 == puVar11" (identifier "puVar14") (== "==") (identifier "puVar11")) () ")")) (compound_statement "{\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n  }" ({ "{") (expression_statement "puVar12[7] = puVar4;" (assignment_expression "puVar12[7] = puVar4" (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "puVar4")) (; ";")) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "puVar12[9] = uVar3;" (assignment_expression "puVar12[9] = uVar3" (subscript_expression "puVar12[9]" (identifier "puVar12") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (} "}")) (else_clause "else {\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }" (else "else") (compound_statement "{\n    uVar6 = puVar12[9];\n    puVar12[7] = puVar4;\n    puVar12[8] = iVar1;\n    puVar12[9] = uVar3;\n    if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }\n  }" ({ "{") (expression_statement "uVar6 = puVar12[9];" (assignment_expression "uVar6 = puVar12[9]" (identifier "uVar6") (= "=") (subscript_expression "puVar12[9]" (identifier "puVar12") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "puVar12[7] = puVar4;" (assignment_expression "puVar12[7] = puVar4" (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "puVar4")) (; ";")) (expression_statement "puVar12[8] = iVar1;" (assignment_expression "puVar12[8] = iVar1" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "puVar12[9] = uVar3;" (assignment_expression "puVar12[9] = uVar3" (subscript_expression "puVar12[9]" (identifier "puVar12") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (if_statement "if (puVar11 != (undefined4 *)0x0) {\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }" (if "if") (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar11 != (undefined4 *)0x0" (identifier "puVar11") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      param_4[7] = puVar11;\n      param_4[9] = uVar6;\n      param_4[8] = 0;\n      *(undefined1 *)puVar11 = 0;\n      return;\n    }" ({ "{") (expression_statement "param_4[7] = puVar11;" (assignment_expression "param_4[7] = puVar11" (subscript_expression "param_4[7]" (identifier "param_4") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "param_4[9] = uVar6;" (assignment_expression "param_4[9] = uVar6" (subscript_expression "param_4[9]" (identifier "param_4") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_4[8] = 0;" (assignment_expression "param_4[8] = 0" (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)puVar11 = 0;" (assignment_expression "*(undefined1 *)puVar11 = 0" (pointer_expression "*(undefined1 *)puVar11" (* "*") (cast_expression "(undefined1 *)puVar11" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar11"))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "param_4[7] = puVar13;" (assignment_expression "param_4[7] = puVar13" (subscript_expression "param_4[7]" (identifier "param_4") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "puVar13")) (; ";")) (expression_statement "param_4[8] = 0;" (assignment_expression "param_4[8] = 0" (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)puVar13 = 0;" (assignment_expression "*(undefined1 *)puVar13 = 0" (pointer_expression "*(undefined1 *)puVar13" (* "*") (cast_expression "(undefined1 *)puVar13" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* 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:
   __push_heap<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section_sort_entry*,
   std::vector<gold::Output_section::Input_section_sort_entry> >, int,
   gold::Output_section::Input_section_sort_entry,
   __gnu_cxx::__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare> > */

void std::
     __push_heap<__gnu_cxx::__normal_iterator<gold::Output_section::type_7*,_std::vector<gold::Output_section::type_7>var_3>,_int,_gold::Output_section::type_7,___gnu_cxx::__ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>var_3>
               (__normal_iterator<gold::Output_section::type_7*,_std::vector<gold::Output_section::type_7,_std::var_1<gold::Output_section::type_7>var_3>var_3>
                __first,int var_8,int var_9,type_7 *__value,
               _Iter_comp_val<gold::Output_section::Input_section_sort_compare> *__comp)

{
  int var_11;
  type_1 *pcVar2;
  type_2 uVar3;
  type_3 var_14;
  type_4 sVar5;
  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_5 aVar7;
  type_3 var_16;
  type_6 uVar9;
  type_4 var_15;
  type_6 uVar11;
  type_4 sVar12;
  type_2 uVar13;
  type_2 uVar14;
  type_7 *pIVar15;
  type_7 *pIVar16;
  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;
  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;
  int var_12;
  int var_10;
  int var_13;
  
  var_11 = var_8 + -1;
  var_13 = var_8 * 8;
  var_7 = &__first._M_current[var_8].section_name_.field_2;
  pIVar16 = __first._M_current + var_8;
  if (var_9 < var_8) {
    pcVar2 = *(type_1 **)(var_10 + 0x25fe38);
    var_6 = var_7;
    while( true ) {
      var_12 = var_11 / 2;
      pIVar15 = __first._M_current + var_12;
      pIVar16 = __first._M_current + (var_13 - var_8) * 8;
      var_11 = (*pcVar2)(__comp,pIVar15,__value);
      var_7 = var_6;
      if (var_11 == 0) break;
      var_7 = &(pIVar15->section_name_).field_2;
      uVar13 = (pIVar15->input_section_).p2align_;
      uVar11 = *(type_6 *)&(pIVar15->input_section_).u1_;
      uVar9 = *(type_6 *)((int)&(pIVar15->input_section_).u1_ + 4);
      aVar7 = (pIVar15->input_section_).u2_;
      uVar3 = (pIVar15->input_section_).shndx_;
      (pIVar16->input_section_).section_order_index_ =
           (pIVar15->input_section_).section_order_index_;
      (pIVar16->input_section_).p2align_ = uVar13;
      *(type_6 *)&(pIVar16->input_section_).u1_ = uVar11;
      *(type_6 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;
      (pIVar16->input_section_).u2_ = aVar7;
      (pIVar16->input_section_).shndx_ = uVar3;
      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
                *)(pIVar16->section_name_)._M_dataplus._M_p;
      pIVar16->index_ = pIVar15->index_;
      var_14 = (pIVar15->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_14 == var_7) {
        var_15 = (pIVar15->section_name_)._M_string_length;
        if (var_15 == 0) {
LAB_002646cc:
          (pIVar16->section_name_)._M_string_length = var_15;
          var_5->_M_local_buf[var_15] = '\0';
          var_14 = (pIVar15->section_name_)._M_dataplus._M_p;
        }
        else {
          if (var_15 != 1) {
            (**(type_1 **)(var_10 + 0x261668))(var_5,var_7);
            var_15 = (pIVar15->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
                      *)(pIVar16->section_name_)._M_dataplus._M_p;
            goto LAB_002646cc;
          }
          var_5->_M_local_buf[0] = (pIVar15->section_name_).field_2._M_local_buf[0];
          var_15 = (pIVar15->section_name_)._M_string_length;
          var_14 = (pIVar16->section_name_)._M_dataplus._M_p;
          (pIVar16->section_name_)._M_string_length = var_15;
          var_14[var_15] = '\0';
          var_14 = (pIVar15->section_name_)._M_dataplus._M_p;
        }
        (pIVar15->section_name_)._M_string_length = 0;
        *var_14 = '\0';
      }
      else {
        (pIVar16->section_name_)._M_dataplus._M_p = var_14;
        if (var_5 == var_6) {
          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;
          (pIVar16->section_name_).field_2._M_allocated_capacity =
               (pIVar15->section_name_).field_2._M_allocated_capacity;
LAB_002647c0:
          (pIVar15->section_name_)._M_dataplus._M_p = (type_3)var_7;
          var_5 = var_7;
        }
        else {
          var_15 = (pIVar16->section_name_).field_2._M_allocated_capacity;
          (pIVar16->section_name_)._M_string_length = (pIVar15->section_name_)._M_string_length;
          (pIVar16->section_name_).field_2._M_allocated_capacity =
               (pIVar15->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) goto LAB_002647c0;
          (pIVar15->section_name_)._M_dataplus._M_p = (type_3)var_5;
          (pIVar15->section_name_).field_2._M_allocated_capacity = var_15;
        }
        (pIVar15->section_name_)._M_string_length = 0;
        var_5->_M_local_buf[0] = '\0';
      }
      pIVar16 = pIVar15;
      if (var_12 <= var_9) break;
      var_11 = var_12 + -1;
      var_13 = var_12 << 3;
      var_6 = var_7;
      var_8 = var_12;
    }
  }
  aVar7 = (__value->input_section_).u2_;
  var_6 = &(__value->section_name_).field_2;
  uVar13 = (__value->input_section_).section_order_index_;
  uVar14 = (__value->input_section_).p2align_;
  uVar11 = *(type_6 *)&(__value->input_section_).u1_;
  uVar9 = *(type_6 *)((int)&(__value->input_section_).u1_ + 4);
  uVar3 = __value->index_;
  var_14 = (pIVar16->section_name_)._M_dataplus._M_p;
  (pIVar16->input_section_).shndx_ = (__value->input_section_).shndx_;
  (pIVar16->input_section_).p2align_ = uVar14;
  *(type_6 *)&(pIVar16->input_section_).u1_ = uVar11;
  *(type_6 *)((int)&(pIVar16->input_section_).u1_ + 4) = uVar9;
  (pIVar16->input_section_).u2_ = aVar7;
  (pIVar16->input_section_).section_order_index_ = uVar13;
  pIVar16->index_ = uVar3;
  var_16 = (__value->section_name_)._M_dataplus._M_p;
  var_15 = (__value->section_name_)._M_string_length;
  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_16 == var_6) {
    if (var_15 != 0) {
      if (var_15 == 1) {
        *var_14 = (__value->section_name_).field_2._M_local_buf[0];
        var_15 = (__value->section_name_)._M_string_length;
        var_14 = (pIVar16->section_name_)._M_dataplus._M_p;
      }
      else {
        (**(type_1 **)(var_10 + 0x261668))();
        var_15 = (__value->section_name_)._M_string_length;
        var_14 = (pIVar16->section_name_)._M_dataplus._M_p;
      }
    }
    (pIVar16->section_name_)._M_string_length = var_15;
    var_14[var_15] = '\0';
    (__value->section_name_)._M_string_length = 0;
    *(__value->section_name_)._M_dataplus._M_p = '\0';
    return;
  }
  sVar5 = (__value->section_name_).field_2._M_allocated_capacity;
  if (var_7 ==
      (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_14) {
    (pIVar16->section_name_)._M_dataplus._M_p = var_16;
    (pIVar16->section_name_)._M_string_length = var_15;
    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;
  }
  else {
    sVar12 = (pIVar16->section_name_).field_2._M_allocated_capacity;
    (pIVar16->section_name_)._M_dataplus._M_p = var_16;
    (pIVar16->section_name_)._M_string_length = var_15;
    (pIVar16->section_name_).field_2._M_allocated_capacity = sVar5;
    if (var_14 != (type_3)0x0) {
      (__value->section_name_)._M_dataplus._M_p = var_14;
      (__value->section_name_).field_2._M_allocated_capacity = sVar12;
      (__value->section_name_)._M_string_length = 0;
      *var_14 = '\0';
      return;
    }
  }
  (__value->section_name_)._M_dataplus._M_p = (type_3)var_6;
  (__value->section_name_)._M_string_length = 0;
  var_6->_M_local_buf[0] = '\0';
  return;
}


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

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* void std::__push_heap<__normal_iterator<gold::Output_section::Input_section_sort_entry*,
   std::vector<gold::Output_section::Input_section_sort_entry,
   std::allocator<gold::Output_section::Input_section_sort_entry> > >, int,
   gold::Output_section::Input_section_sort_entry,
   __ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>
   >(__normal_iterator<gold::Output_section::Input_section_sort_entry*,
   std::vector<gold::Output_section::Input_section_sort_entry,
   std::allocator<gold::Output_section::Input_section_sort_entry> > >, int, int,
   gold::Output_section::Input_section_sort_entry,
   __ops::_Iter_comp_val<gold::Output_section::Input_section_sort_compare>&) */

void std::
     MASKED
               (int param_1,int param_2,int param_3,undefined4 *param_4,undefined4 param_5)

{
  int iVar1;
  code *pcVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  undefined1 *puVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined4 *puVar11;
  undefined4 *puVar12;
  undefined4 *puVar13;
  undefined4 *puVar14;
  int iVar15;
  int in_t9;
  int iVar16;
  
  iVar1 = param_2 + -1;
  iVar16 = param_2 * 8;
  puVar12 = (undefined4 *)(param_1 + param_2 * 0x38);
  puVar14 = puVar12 + 9;
  if (param_3 < param_2) {
    pcVar2 = *(code **)(in_t9 + 0x25fe38);
    puVar13 = puVar14;
    while( true ) {
      iVar15 = iVar1 / 2;
      puVar11 = (undefined4 *)(param_1 + iVar15 * 0x38);
      puVar12 = (undefined4 *)(param_1 + (iVar16 - param_2) * 8);
      iVar1 = (*pcVar2)(param_5,puVar11,param_4);
      puVar14 = puVar13;
      if (iVar1 == 0) break;
      puVar14 = puVar11 + 9;
      uVar9 = puVar11[1];
      uVar8 = puVar11[2];
      uVar7 = puVar11[3];
      uVar6 = puVar11[4];
      uVar3 = *puVar11;
      puVar12[5] = puVar11[5];
      puVar12[1] = uVar9;
      puVar12[2] = uVar8;
      puVar12[3] = uVar7;
      puVar12[4] = uVar6;
      *puVar12 = uVar3;
      puVar4 = (undefined4 *)puVar12[7];
      puVar12[6] = puVar11[6];
      if ((undefined4 *)puVar11[7] == puVar14) {
        iVar1 = puVar11[8];
        if (iVar1 == 0) {
LAB_002646cc:
          puVar12[8] = iVar1;
          *(undefined1 *)((int)puVar4 + iVar1) = 0;
          puVar5 = (undefined1 *)puVar11[7];
        }
        else {
          if (iVar1 != 1) {
            (**(code **)(in_t9 + 0x261668))(puVar4,puVar14);
            iVar1 = puVar11[8];
            puVar4 = (undefined4 *)puVar12[7];
            goto LAB_002646cc;
          }
          *(undefined1 *)puVar4 = *(undefined1 *)(puVar11 + 9);
          iVar1 = puVar11[8];
          puVar12[8] = iVar1;
          *(undefined1 *)(puVar12[7] + iVar1) = 0;
          puVar5 = (undefined1 *)puVar11[7];
        }
        puVar11[8] = 0;
        *puVar5 = 0;
      }
      else {
        puVar12[7] = (undefined4 *)puVar11[7];
        if (puVar4 == puVar13) {
          puVar12[8] = puVar11[8];
          puVar12[9] = puVar11[9];
LAB_002647c0:
          puVar11[7] = puVar14;
          puVar4 = puVar14;
        }
        else {
          uVar3 = puVar12[9];
          puVar12[8] = puVar11[8];
          puVar12[9] = puVar11[9];
          if (puVar4 == (undefined4 *)0x0) goto LAB_002647c0;
          puVar11[7] = puVar4;
          puVar11[9] = uVar3;
        }
        puVar11[8] = 0;
        *(undefined1 *)puVar4 = 0;
      }
      puVar12 = puVar11;
      if (iVar15 <= param_3) break;
      iVar1 = iVar15 + -1;
      iVar16 = iVar15 << 3;
      puVar13 = puVar14;
      param_2 = iVar15;
    }
  }
  uVar7 = param_4[4];
  puVar13 = param_4 + 9;
  uVar6 = param_4[5];
  uVar10 = param_4[1];
  uVar9 = param_4[2];
  uVar8 = param_4[3];
  uVar3 = param_4[6];
  puVar11 = (undefined4 *)puVar12[7];
  *puVar12 = *param_4;
  puVar12[1] = uVar10;
  puVar12[2] = uVar9;
  puVar12[3] = uVar8;
  puVar12[4] = uVar7;
  puVar12[5] = uVar6;
  puVar12[6] = uVar3;
  puVar4 = (undefined4 *)param_4[7];
  iVar1 = param_4[8];
  if (puVar4 == puVar13) {
    if (iVar1 != 0) {
      if (iVar1 == 1) {
        *(undefined1 *)puVar11 = *(undefined1 *)(param_4 + 9);
        iVar1 = param_4[8];
        puVar11 = (undefined4 *)puVar12[7];
      }
      else {
        (**(code **)(in_t9 + 0x261668))();
        iVar1 = param_4[8];
        puVar11 = (undefined4 *)puVar12[7];
      }
    }
    puVar12[8] = iVar1;
    *(undefined1 *)((int)puVar11 + iVar1) = 0;
    param_4[8] = 0;
    *(undefined1 *)param_4[7] = 0;
    return;
  }
  uVar3 = param_4[9];
  if (puVar14 == puVar11) {
    puVar12[7] = puVar4;
    puVar12[8] = iVar1;
    puVar12[9] = uVar3;
  }
  else {
    uVar6 = puVar12[9];
    puVar12[7] = puVar4;
    puVar12[8] = iVar1;
    puVar12[9] = uVar3;
    if (puVar11 != (undefined4 *)0x0) {
      param_4[7] = puVar11;
      param_4[9] = uVar6;
      param_4[8] = 0;
      *(undefined1 *)puVar11 = 0;
      return;
    }
  }
  param_4[7] = puVar13;
  param_4[8] = 0;
  *(undefined1 *)puVar13 = 0;
  return;
}

