
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void add_target_dynamic_tags(Layout * this, bool use_rel, Output_data *
   plt_got, Output_data * plt_rel, Output_data_reloc_generic * dyn_rel, bool add_debug, bool
   dynrel_includes_plt) */

void __thiscall
gold::Layout::add_target_dynamic_tags
          (Layout *this,bool use_rel,Output_data *plt_got,Output_data *plt_rel,
          Output_data_reloc_generic *dyn_rel,bool add_debug,bool dynrel_includes_plt)

{
  Dynamic_entries *this_00;
  Output_data_dynamic *pOVar1;
  anon_union_8_4_94c5dad9_for_u_ *paVar2;
  Output_section *pOVar3;
  bool bVar4;
  int iVar5;
  undefined4 extraout_var;
  undefined4 extraout_var_00;
  undefined4 extraout_var_01;
  undefined4 extraout_var_02;
  anon_union_8_4_94c5dad9_for_u_ *paVar6;
  undefined4 extraout_var_03;
  undefined4 extraout_var_04;
  Parameters *pPVar7;
  General_options *pGVar8;
  undefined4 extraout_var_05;
  undefined4 extraout_var_06;
  undefined4 extraout_var_07;
  undefined4 extraout_var_08;
  undefined4 uVar9;
  iterator iVar10;
  bool bVar11;
  anon_union_8_4_94c5dad9_for_u_ local_58;
  anon_union_8_4_94c5dad9_for_u_ aStack_50;
  anon_union_8_4_94c5dad9_for_u_ local_48;
  
  pOVar1 = this->dynamic_data_;
  if (pOVar1 == (Output_data_dynamic *)0x0) {
    return;
  }
  if ((plt_got != (Output_data *)0x0) &&
     (iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got), CONCAT44(extraout_var,iVar5) != 0)) {
    local_48 = (anon_union_8_4_94c5dad9_for_u_)0x3;
    iVar10._M_current =
         (pOVar1->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    aStack_50.od = (Output_data *)0x0;
    local_58.od = plt_got;
    if (iVar10._M_current ==
        (pOVar1->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);
    }
    else {
      ((iVar10._M_current)->u_).od = plt_got;
      (iVar10._M_current)->od2 = (Output_data *)0x0;
      (iVar10._M_current)->tag_ = DT_PLTGOT;
      (iVar10._M_current)->offset_ = 0;
      (pOVar1->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = iVar10._M_current + 1;
    }
  }
  if (plt_rel == (Output_data *)0x0) {
    if ((dyn_rel != (Output_data_reloc_generic *)0x0) &&
       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=
        (Output_section *)0x0)) {
LAB_00215a14:
      bVar11 = false;
      goto LAB_002156b5;
    }
  }
  else {
    iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);
    if (CONCAT44(extraout_var_00,iVar5) != 0) {
      this_00 = &pOVar1->entries_;
      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);
      local_58._4_4_ = extraout_var_01;
      aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;
      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;
      iVar10._M_current =
           (pOVar1->entries_).
           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
           ._M_impl._M_finish;
      if (iVar10._M_current ==
          (pOVar1->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_end_of_storage) {
        std::
        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                  (this_00,iVar10,(Dynamic_entry *)&local_58);
      }
      else {
        (iVar10._M_current)->u_ = local_58;
        (iVar10._M_current)->od2 = (Output_data *)0x0;
        (iVar10._M_current)->tag_ = DT_PLTRELSZ;
        (iVar10._M_current)->offset_ = 0xfffffffe;
        (pOVar1->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = iVar10._M_current + 1;
      }
      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);
      local_58._4_4_ = extraout_var_02;
      local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;
      iVar10._M_current =
           (pOVar1->entries_).
           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
           ._M_impl._M_end_of_storage;
      paVar2 = &((pOVar1->entries_).
                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                 ._M_impl._M_finish)->u_;
      aStack_50.od = (Output_data *)0x0;
      if (paVar2 == &(iVar10._M_current)->u_) {
        std::
        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                  (this_00,iVar10,(Dynamic_entry *)&local_58);
        paVar6 = &((pOVar1->entries_).
                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                   ._M_impl._M_finish)->u_;
        iVar10._M_current =
             (pOVar1->entries_).
             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
             ._M_impl._M_end_of_storage;
      }
      else {
        paVar6 = paVar2 + 3;
        *paVar2 = local_58;
        paVar2[1].od = (Output_data *)0x0;
        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;
        (pOVar1->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = (pointer)paVar6;
      }
      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;
      local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;
      if (&(iVar10._M_current)->u_ == paVar6) {
        std::
        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                  (this_00,iVar10,(Dynamic_entry *)&local_58);
      }
      else {
        paVar6->od = (Output_data *)local_58;
        paVar6[1].od = (Output_data *)aStack_50;
        paVar6[2].od = (Output_data *)0xffffffff00000014;
        (pOVar1->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = (pointer)(paVar6 + 3);
      }
    }
    if ((dyn_rel == (Output_data_reloc_generic *)0x0) ||
       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==
        (Output_section *)0x0)) {
      if ((plt_rel == (Output_data *)0x0) ||
         ((!dynrel_includes_plt ||
          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)
          ))) goto LAB_00215928;
      if (dyn_rel == (Output_data_reloc_generic *)0x0) {
        (*plt_rel->_vptr_Output_data[10])(plt_rel);
        bVar11 = false;
      }
      else {
        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.
                 output_section_;
        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);
        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;
        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;
      }
      bVar4 = false;
      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);
      local_58._4_4_ = extraout_var_06;
    }
    else {
      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;
      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);
      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;
LAB_002156b5:
      local_58 = (anon_union_8_4_94c5dad9_for_u_)
                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.
                 output_section_;
      bVar4 = true;
    }
    iVar10._M_current =
         (pOVar1->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;
    local_48._4_4_ = 0;
    local_48.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;
    if (iVar10._M_current ==
        (pOVar1->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);
    }
    else {
      (iVar10._M_current)->u_ = local_58;
      (iVar10._M_current)->od2 = (Output_data *)0x0;
      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;
      (pOVar1->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = iVar10._M_current + 1;
    }
    iVar5 = (-(uint)!use_rel & 0xfffffff6) + 0x12;
    if (bVar11) {
      if (dynrel_includes_plt) {
        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);
        aStack_50._4_4_ = extraout_var_04;
        local_58 = (anon_union_8_4_94c5dad9_for_u_)
                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.
                   output_section_;
        iVar10._M_current =
             (pOVar1->entries_).
             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
             ._M_impl._M_finish;
        if (&(iVar10._M_current)->u_ ==
            &((pOVar1->entries_).
              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
              ._M_impl._M_end_of_storage)->u_) {
LAB_00215a4c:
          local_48._4_4_ = 0xfffffffe;
          local_48.val = iVar5;
          std::
          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);
          goto LAB_002159be;
        }
      }
      else {
LAB_00215a20:
        local_58 = (anon_union_8_4_94c5dad9_for_u_)
                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.
                   output_section_;
        iVar10._M_current =
             (pOVar1->entries_).
             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
             ._M_impl._M_finish;
        aStack_50.od = (Output_data *)0x0;
        if (&(iVar10._M_current)->u_ ==
            &((pOVar1->entries_).
              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;
      }
      local_48._4_4_ = 0xfffffffe;
      local_48.val = iVar5;
      (iVar10._M_current)->u_ = local_58;
      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;
      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;
      (pOVar1->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);
    }
    else {
      if (bVar4) goto LAB_00215a20;
      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);
      local_58._4_4_ = extraout_var_07;
      iVar10._M_current =
           (pOVar1->entries_).
           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
           ._M_impl._M_finish;
      local_48._4_4_ = 0xfffffffe;
      local_48.val = iVar5;
      aStack_50.od = (Output_data *)0x0;
      if (&(iVar10._M_current)->u_ ==
          &((pOVar1->entries_).
            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;
      (iVar10._M_current)->u_ = local_58;
      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;
      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;
      (pOVar1->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);
    }
LAB_002159be:
    pPVar7 = parameters;
    if (parameters->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.h",0x69,"target");
    }
    iVar5 = parameters->target_->pti_->size;
    if (use_rel) {
      if (iVar5 == 0x20) {
        uVar9 = 8;
        local_48.val = 0x13;
      }
      else {
        if (iVar5 != 0x40) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");
        }
        uVar9 = 0x10;
        local_48.val = 0x13;
      }
    }
    else if (iVar5 == 0x20) {
      uVar9 = 0xc;
      local_48.val = 9;
    }
    else {
      if (iVar5 != 0x40) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");
      }
      uVar9 = 0x18;
      local_48.val = 9;
    }
    iVar10._M_current =
         (pOVar1->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    local_48._4_4_ = 0xffffffff;
    local_58.val = uVar9;
    if (iVar10._M_current ==
        (pOVar1->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);
      pPVar7 = parameters;
    }
    else {
                    /* WARNING: Store size is inaccurate */
      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;
      (iVar10._M_current)->od2 = (Output_data *)aStack_50;
      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;
      (pOVar1->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = iVar10._M_current + 1;
    }
    pGVar8 = pPVar7->options_;
    if (pGVar8 == (General_options *)0x0) goto LAB_00215945;
    if ((((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)
       ) {
      if (!add_debug) {
        return;
      }
      goto LAB_00215811;
    }
    local_58.val = (int)dyn_rel->relative_reloc_count_;
    iVar10._M_current =
         (pOVar1->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    local_48._4_4_ = 0xffffffff;
    local_48.val = use_rel + 0x6ffffff9;
    if (iVar10._M_current ==
        (pOVar1->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);
    }
    else {
      ((iVar10._M_current)->u_).od = (Output_data *)local_58;
      (iVar10._M_current)->od2 = (Output_data *)aStack_50;
      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;
      (pOVar1->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = iVar10._M_current + 1;
    }
  }
LAB_00215928:
  if (!add_debug) {
    return;
  }
  pGVar8 = parameters->options_;
  if (pGVar8 != (General_options *)0x0) {
LAB_00215811:
    if ((pGVar8->shared_).value == false) {
      local_58.od = local_58.od & 0xffffffff00000000;
      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;
      iVar10._M_current =
           (pOVar1->entries_).
           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
           ._M_impl._M_finish;
      if (iVar10._M_current ==
          (pOVar1->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_end_of_storage) {
        std::
        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);
      }
      else {
        ((iVar10._M_current)->u_).od = (Output_data *)local_58;
        (iVar10._M_current)->od2 = (Output_data *)aStack_50;
        (iVar10._M_current)->tag_ = DT_DEBUG;
        (iVar10._M_current)->offset_ = 0xffffffff;
        (pOVar1->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = iVar10._M_current + 1;
      }
    }
    return;
  }
LAB_00215945:
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
}



void FUN_00215500(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,
                 char param_7)

{
  long lVar1;
  undefined8 *puVar2;
  ulong *puVar3;
  bool bVar4;
  long lVar5;
  undefined8 *puVar6;
  undefined *puVar7;
  long lVar8;
  undefined4 uVar9;
  int iVar10;
  undefined4 uVar11;
  undefined8 *puVar12;
  bool bVar13;
  long *local_58;
  ulong uStack_50;
  undefined8 local_48;
  
  lVar1 = *(long *)(param_1 + 0x300);
  if (lVar1 == 0) {
    return;
  }
  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {
    local_48 = 3;
    puVar12 = *(undefined8 **)(lVar1 + 0x40);
    uStack_50 = 0;
    local_58 = param_3;
    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
    }
    else {
      *puVar12 = param_3;
      puVar12[1] = 0;
      puVar12[2] = 3;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
  }
  if (param_4 == (long *)0x0) {
    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {
LAB_00215a14:
      bVar13 = false;
      goto LAB_002156b5;
    }
  }
  else {
    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);
    if (lVar5 != 0) {
      lVar5 = lVar1 + 0x38;
      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);
      uStack_50 = 0;
      local_48 = 0xfffffffe00000002;
      puVar12 = *(undefined8 **)(lVar1 + 0x40);
      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
        FUN_001bc0a0(lVar5,puVar12,&local_58);
      }
      else {
        *puVar12 = local_58;
        puVar12[1] = 0;
        puVar12[2] = 0xfffffffe00000002;
        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
      }
      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);
      local_48 = 0x17;
      puVar12 = *(undefined8 **)(lVar1 + 0x48);
      puVar2 = *(undefined8 **)(lVar1 + 0x40);
      uStack_50 = 0;
      if (puVar2 == puVar12) {
        FUN_001bc0a0(lVar5,puVar12,&local_58);
        puVar6 = *(undefined8 **)(lVar1 + 0x40);
        puVar12 = *(undefined8 **)(lVar1 + 0x48);
      }
      else {
        puVar6 = puVar2 + 3;
        *puVar2 = local_58;
        puVar2[1] = 0;
        puVar2[2] = 0x17;
        *(undefined8 **)(lVar1 + 0x40) = puVar6;
      }
      local_48 = 0xffffffff00000014;
      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);
      if (puVar12 == puVar6) {
        FUN_001bc0a0(lVar5,puVar12,&local_58);
      }
      else {
        *puVar6 = local_58;
        puVar6[1] = uStack_50;
        puVar6[2] = 0xffffffff00000014;
        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;
      }
    }
    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {
      if ((param_4 == (long *)0x0) ||
         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))
      goto LAB_00215928;
      if (param_5 == 0) {
        (**(code **)(*param_4 + 0x50))(param_4);
        bVar13 = false;
      }
      else {
        lVar5 = *(long *)(param_5 + 0x28);
        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);
        bVar13 = lVar8 != 0 && lVar5 != 0;
        if (lVar5 != 0) goto LAB_002156b5;
      }
      bVar4 = false;
      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);
    }
    else {
      if (param_4 == (long *)0x0) goto LAB_00215a14;
      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);
      bVar13 = lVar5 != 0;
LAB_002156b5:
      local_58 = *(long **)(param_5 + 0x28);
      bVar4 = true;
    }
    puVar12 = *(undefined8 **)(lVar1 + 0x40);
    uStack_50 = 0;
    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);
    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
    }
    else {
      *puVar12 = local_58;
      puVar12[1] = 0;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;
    if (bVar13) {
      if (param_7 == '\0') {
LAB_00215a20:
        local_58 = *(long **)(param_5 + 0x28);
        puVar12 = *(undefined8 **)(lVar1 + 0x40);
        uStack_50 = 0;
        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;
      }
      else {
        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);
        local_58 = *(long **)(param_5 + 0x28);
        puVar12 = *(undefined8 **)(lVar1 + 0x40);
        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
LAB_00215a4c:
          local_48 = CONCAT44(0xfffffffe,iVar10);
          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
          goto LAB_002159be;
        }
      }
      local_48 = CONCAT44(0xfffffffe,iVar10);
      *puVar12 = local_58;
      puVar12[1] = uStack_50;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
    else {
      if (bVar4) goto LAB_00215a20;
      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);
      puVar12 = *(undefined8 **)(lVar1 + 0x40);
      local_48 = CONCAT44(0xfffffffe,iVar10);
      uStack_50 = 0;
      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;
      *puVar12 = local_58;
      puVar12[1] = 0;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
LAB_002159be:
    puVar7 = PTR_DAT_004ba7c8;
    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_001e9890("../../gold/parameters.h",0x69,"target");
    }
    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);
    if (param_2 == '\0') {
      if (iVar10 == 0x20) {
        uVar11 = 0xc;
        uVar9 = 9;
      }
      else {
        if (iVar10 != 0x40) {
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");
        }
        uVar11 = 0x18;
        uVar9 = 9;
      }
    }
    else if (iVar10 == 0x20) {
      uVar11 = 8;
      uVar9 = 0x13;
    }
    else {
      if (iVar10 != 0x40) {
                    /* WARNING: Subroutine does not return */
        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");
      }
      uVar11 = 0x10;
      uVar9 = 0x13;
    }
    puVar12 = *(undefined8 **)(lVar1 + 0x40);
    local_48 = CONCAT44(0xffffffff,uVar9);
    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);
    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
      puVar7 = PTR_DAT_004ba7c8;
    }
    else {
      *puVar12 = local_58;
      puVar12[1] = uStack_50;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
    lVar5 = *(long *)(puVar7 + 0x10);
    if (lVar5 == 0) goto LAB_00215945;
    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {
      if (param_6 == '\0') {
        return;
      }
      goto LAB_00215811;
    }
    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));
    puVar12 = *(undefined8 **)(lVar1 + 0x40);
    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);
    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
    }
    else {
      *puVar12 = local_58;
      puVar12[1] = uStack_50;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
  }
LAB_00215928:
  if (param_6 == '\0') {
    return;
  }
  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);
  if (lVar5 != 0) {
LAB_00215811:
    if (*(char *)(lVar5 + 0x2a61) == '\0') {
      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);
      local_48 = 0xffffffff00000015;
      puVar3 = *(ulong **)(lVar1 + 0x40);
      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {
        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);
      }
      else {
        *puVar3 = (ulong)local_58;
        puVar3[1] = uStack_50;
        puVar3[2] = 0xffffffff00000015;
        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;
      }
    }
    return;
  }
LAB_00215945:
                    /* WARNING: Subroutine does not return */
  FUN_001e9890("../../gold/parameters.h",0x5c,"options");
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x38
MOV R15,qword ptr [RDI + 0x300]
MOV EAX,dword ptr [RSP + 0x70]
MOV dword ptr [RSP + 0x4],EAX
TEST R15,R15
JZ 0x0021585a
MOV R12D,R9D
MOV RBX,R8
MOV R13,RCX
MOV R14,RDX
MOV EBP,ESI
TEST RDX,RDX
JZ 0x00215587
MOV RAX,qword ptr [RDX]
MOV RDI,RDX
CALL qword ptr [RAX + 0x50]
TEST RAX,RAX
JZ 0x00215587
MOV qword ptr [RSP + 0x20],0x3
MOV RSI,qword ptr [R15 + 0x40]
MOV qword ptr [RSP + 0x10],R14
MOV qword ptr [RSP + 0x18],0x0
CMP RSI,qword ptr [R15 + 0x48]
JZ 0x00215b40
MOVDQA XMM5,xmmword ptr [RSP + 0x10]
ADD RSI,0x18
MOVUPS xmmword ptr [RSI + -0x18],XMM5
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [R15 + 0x40],RSI
TEST R13,R13
JZ 0x00215a00
MOV RAX,qword ptr [R13]
MOV RDI,R13
CALL qword ptr [RAX + 0x50]
TEST RAX,RAX
JZ 0x00215687
MOV RAX,qword ptr [R13]
MOV RDI,R13
LEA R14,[R15 + 0x38]
CALL qword ptr [RAX + 0x50]
MOV qword ptr [RSP + 0x18],0x0
MOV qword ptr [RSP + 0x10],RAX
MOV RAX,-0x1fffffffe
MOV qword ptr [RSP + 0x20],RAX
MOV RSI,qword ptr [R15 + 0x40]
CMP RSI,qword ptr [R15 + 0x48]
JZ 0x00215b28
MOVDQA XMM2,xmmword ptr [RSP + 0x10]
ADD RSI,0x18
MOVUPS xmmword ptr [RSI + -0x18],XMM2
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [R15 + 0x40],RSI
MOV RAX,qword ptr [R13]
MOV RDI,R13
CALL qword ptr [RAX + 0x50]
MOV qword ptr [RSP + 0x20],0x17
MOV RSI,qword ptr [R15 + 0x48]
MOV qword ptr [RSP + 0x10],RAX
MOV RAX,qword ptr [R15 + 0x40]
MOV qword ptr [RSP + 0x18],0x0
CMP RAX,RSI
JZ 0x00215b08
MOVDQA XMM3,xmmword ptr [RSP + 0x10]
ADD RAX,0x18
MOVUPS xmmword ptr [RAX + -0x18],XMM3
MOV RDX,qword ptr [RSP + 0x20]
MOV qword ptr [RAX + -0x8],RDX
MOV qword ptr [R15 + 0x40],RAX
MOV RCX,-0xffffffec
CMP BPL,0x1
SBB EDX,EDX
MOV qword ptr [RSP + 0x20],RCX
AND EDX,0xfffffff6
ADD EDX,0x11
MOV dword ptr [RSP + 0x10],EDX
CMP RSI,RAX
JZ 0x00215af0
MOVDQA XMM4,xmmword ptr [RSP + 0x10]
ADD RAX,0x18
MOVUPS xmmword ptr [RAX + -0x18],XMM4
MOV RDX,qword ptr [RSP + 0x20]
MOV qword ptr [RAX + -0x8],RDX
MOV qword ptr [R15 + 0x40],RAX
TEST RBX,RBX
JZ 0x00215870
CMP qword ptr [RBX + 0x28],0x0
JZ 0x00215870
TEST R13,R13
JZ 0x00215a14
MOV RAX,qword ptr [R13]
MOV RDI,R13
CALL qword ptr [RAX + 0x50]
TEST RAX,RAX
SETNZ R8B
MOV RAX,qword ptr [RBX + 0x28]
MOV R14D,0x1
CMP BPL,0x1
MOV qword ptr [RSP + 0x10],RAX
LEA RAX,[R15 + 0x38]
MOV RSI,qword ptr [R15 + 0x40]
SBB EDX,EDX
MOV dword ptr [RSP + 0x24],0x0
AND EDX,0xfffffff6
MOV qword ptr [RSP + 0x8],RAX
MOV qword ptr [RSP + 0x18],0x0
ADD EDX,0x11
MOV dword ptr [RSP + 0x20],EDX
CMP RSI,qword ptr [R15 + 0x48]
JZ 0x00215ab0
MOVDQA XMM0,xmmword ptr [RSP + 0x10]
ADD RSI,0x18
MOVUPS xmmword ptr [RSI + -0x18],XMM0
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [R15 + 0x40],RSI
CMP BPL,0x1
SBB EDX,EDX
AND EDX,0xfffffff6
ADD EDX,0x12
TEST R8B,R8B
JZ 0x00215960
CMP byte ptr [RSP + 0x4],0x0
JZ 0x00215a20
MOV RAX,qword ptr [R13]
MOV dword ptr [RSP + 0x4],EDX
MOV RDI,R13
CALL qword ptr [RAX + 0x50]
MOV RCX,qword ptr [RBX + 0x28]
MOV EDX,dword ptr [RSP + 0x4]
MOV dword ptr [RSP + 0x24],0xfffffffe
MOV qword ptr [RSP + 0x18],RAX
MOV RSI,qword ptr [R15 + 0x40]
MOV dword ptr [RSP + 0x20],EDX
MOV qword ptr [RSP + 0x10],RCX
CMP RSI,qword ptr [R15 + 0x48]
JZ 0x00215a4c
MOVDQA XMM7,xmmword ptr [RSP + 0x10]
ADD RSI,0x18
MOVUPS xmmword ptr [RSI + -0x18],XMM7
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [R15 + 0x40],RSI
JMP 0x002159be
CMP EDX,0x20
JZ 0x00215a70
CMP EDX,0x40
JNZ 0x00215b9b
MOV EDX,0x18
MOV ECX,0x9
MOV dword ptr [RSP + 0x20],ECX
MOV RSI,qword ptr [R15 + 0x40]
MOV dword ptr [RSP + 0x24],0xffffffff
MOV dword ptr [RSP + 0x10],EDX
CMP RSI,qword ptr [R15 + 0x48]
JZ 0x00215ad0
MOVDQA XMM1,xmmword ptr [RSP + 0x10]
ADD RSI,0x18
MOVUPS xmmword ptr [RSI + -0x18],XMM1
MOV RDX,qword ptr [RSP + 0x20]
MOV qword ptr [RSI + -0x8],RDX
MOV qword ptr [R15 + 0x40],RSI
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x00215945
CMP byte ptr [RAX + 0x7e39],0x0
JZ 0x0021580c
TEST R14B,R14B
JNZ 0x002158d0
TEST R12B,R12B
JZ 0x0021585a
CMP byte ptr [RAX + 0x2a61],0x0
JNZ 0x0021585a
MOV RAX,-0xffffffeb
MOV dword ptr [RSP + 0x10],0x0
MOV qword ptr [RSP + 0x20],RAX
MOV RSI,qword ptr [R15 + 0x40]
CMP RSI,qword ptr [R15 + 0x48]
JZ 0x00215b58
MOVDQA XMM7,xmmword ptr [RSP + 0x10]
ADD RSI,0x18
MOVUPS xmmword ptr [RSI + -0x18],XMM7
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [R15 + 0x40],RSI
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
TEST R13,R13
JZ 0x00215928
CMP byte ptr [RSP + 0x4],0x0
JZ 0x00215928
MOV RAX,qword ptr [R13]
MOV RDI,R13
CALL qword ptr [RAX + 0x50]
TEST RAX,RAX
JZ 0x00215928
TEST RBX,RBX
JNZ 0x00215a7f
MOV RAX,qword ptr [R13]
MOV RDI,R13
CALL qword ptr [RAX + 0x50]
XOR R8D,R8D
MOV RAX,qword ptr [R13]
MOV byte ptr [RSP + 0x8],R8B
MOV RDI,R13
XOR R14D,R14D
CALL qword ptr [RAX + 0x50]
MOVZX R8D,byte ptr [RSP + 0x8]
JMP 0x002156bf
MOV RDX,qword ptr [RBX + 0x38]
TEST RDX,RDX
JZ 0x0021580c
XOR EAX,EAX
TEST BPL,BPL
MOV dword ptr [RSP + 0x10],EDX
MOV RSI,qword ptr [R15 + 0x40]
SETNZ AL
MOV dword ptr [RSP + 0x24],0xffffffff
ADD EAX,0x6ffffff9
MOV dword ptr [RSP + 0x20],EAX
CMP RSI,qword ptr [R15 + 0x48]
JZ 0x00215b70
MOVDQA XMM6,xmmword ptr [RSP + 0x10]
ADD RSI,0x18
MOVUPS xmmword ptr [RSI + -0x18],XMM6
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [R15 + 0x40],RSI
NOP dword ptr [RAX + RAX*0x1]
TEST R12B,R12B
JZ 0x0021585a
MOV RAX,qword ptr [0x004ba7c8]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JNZ 0x00215811
LEA RDX,[0x3e6868]
MOV ESI,0x5c
LEA RDI,[0x3c9279]
CALL 0x001e9890
TEST R14B,R14B
JNZ 0x00215a20
MOV RAX,qword ptr [R13]
MOV dword ptr [RSP + 0x4],EDX
MOV RDI,R13
CALL qword ptr [RAX + 0x50]
MOV EDX,dword ptr [RSP + 0x4]
MOV dword ptr [RSP + 0x24],0xfffffffe
MOV qword ptr [RSP + 0x10],RAX
MOV RSI,qword ptr [R15 + 0x40]
MOV dword ptr [RSP + 0x20],EDX
MOV qword ptr [RSP + 0x18],0x0
CMP RSI,qword ptr [R15 + 0x48]
JZ 0x00215a4c
MOVDQA XMM6,xmmword ptr [RSP + 0x10]
ADD RSI,0x18
MOVUPS xmmword ptr [RSI + -0x18],XMM6
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [R15 + 0x40],RSI
MOV RAX,qword ptr [0x004ba7c8]
MOV RDX,qword ptr [RAX + 0x18]
TEST RDX,RDX
JZ 0x00215b83
MOV RDX,qword ptr [RDX + 0x8]
MOV EDX,dword ptr [RDX]
TEST BPL,BPL
JZ 0x00215798
CMP EDX,0x20
JZ 0x00215a60
CMP EDX,0x40
JNZ 0x00215bb3
MOV EDX,0x10
MOV ECX,0x13
JMP 0x002157b4
TEST RBX,RBX
JZ 0x00215928
CMP qword ptr [RBX + 0x28],0x0
JZ 0x00215928
XOR R8D,R8D
JMP 0x002156b5
MOV RAX,qword ptr [RBX + 0x28]
MOV dword ptr [RSP + 0x20],EDX
MOV dword ptr [RSP + 0x24],0xfffffffe
MOV RSI,qword ptr [R15 + 0x40]
MOV qword ptr [RSP + 0x10],RAX
MOV qword ptr [RSP + 0x18],0x0
CMP RSI,qword ptr [R15 + 0x48]
JNZ 0x00215771
LEA RDX,[RSP + 0x10]
LEA RDI,[R15 + 0x38]
CALL 0x001bc0a0
JMP 0x002159be
MOV EDX,0x8
MOV ECX,0x13
JMP 0x002157b4
MOV EDX,0xc
MOV ECX,0x9
JMP 0x002157b4
MOV RAX,qword ptr [R13]
MOV R14,qword ptr [RBX + 0x28]
MOV RDI,R13
CALL qword ptr [RAX + 0x50]
TEST RAX,RAX
SETNZ R8B
TEST R14,R14
SETNZ AL
AND R8D,EAX
TEST R14,R14
JZ 0x002158ad
JMP 0x002156b5
LEA RDX,[RSP + 0x10]
LEA RDI,[R15 + 0x38]
MOV byte ptr [RSP + 0x8],R8B
CALL 0x001bc0a0
MOVZX R8D,byte ptr [RSP + 0x8]
JMP 0x00215717
LEA RDX,[RSP + 0x10]
LEA RDI,[R15 + 0x38]
CALL 0x001bc0a0
MOV RAX,qword ptr [0x004ba7c8]
JMP 0x002157ed
LEA RDX,[RSP + 0x10]
MOV RDI,R14
CALL 0x001bc0a0
JMP 0x00215687
LEA RDX,[RSP + 0x10]
MOV RDI,R14
CALL 0x001bc0a0
MOV RAX,qword ptr [R15 + 0x40]
MOV RSI,qword ptr [R15 + 0x48]
JMP 0x00215644
LEA RDX,[RSP + 0x10]
MOV RDI,R14
CALL 0x001bc0a0
JMP 0x002155f7
LEA RDX,[RSP + 0x10]
LEA RDI,[R15 + 0x38]
CALL 0x001bc0a0
JMP 0x00215587
LEA RDX,[RSP + 0x10]
LEA RDI,[R15 + 0x38]
CALL 0x001bc0a0
JMP 0x0021585a
LEA RDX,[RSP + 0x10]
LEA RDI,[R15 + 0x38]
CALL 0x001bc0a0
JMP 0x00215928
LEA RDX,[0x3e680b]
MOV ESI,0x69
LEA RDI,[0x3c9279]
CALL 0x001e9890
LEA RDX,[0x3e62e0]
MOV ESI,0x13fa
LEA RDI,[0x3e5162]
CALL 0x001e9890
LEA RDX,[0x3e62e0]
MOV ESI,0x13f0
LEA RDI,[0x3e5162]
CALL 0x001e9890
(translation_unit "void FUN_00215500(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  ulong *puVar3;\n  bool bVar4;\n  long lVar5;\n  undefined8 *puVar6;\n  undefined *puVar7;\n  long lVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  undefined8 *puVar12;\n  bool bVar13;\n  long *local_58;\n  ulong uStack_50;\n  undefined8 local_48;\n  \n  lVar1 = *(long *)(param_1 + 0x300);\n  if (lVar1 == 0) {\n    return;\n  }\n  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\nLAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }\n  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n  if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    /* WARNING: Subroutine does not return */\n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n}\n\n" (function_definition "void FUN_00215500(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  ulong *puVar3;\n  bool bVar4;\n  long lVar5;\n  undefined8 *puVar6;\n  undefined *puVar7;\n  long lVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  undefined8 *puVar12;\n  bool bVar13;\n  long *local_58;\n  ulong uStack_50;\n  undefined8 local_48;\n  \n  lVar1 = *(long *)(param_1 + 0x300);\n  if (lVar1 == 0) {\n    return;\n  }\n  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\nLAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }\n  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n  if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    /* WARNING: Subroutine does not return */\n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (function_declarator "FUN_00215500(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)" identifier (parameter_list "(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char param_2" primitive_type identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "long *param_4" (sized_type_specifier "long" long) (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char param_6" primitive_type identifier) , (parameter_declaration "char param_7" primitive_type identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  ulong *puVar3;\n  bool bVar4;\n  long lVar5;\n  undefined8 *puVar6;\n  undefined *puVar7;\n  long lVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  undefined8 *puVar12;\n  bool bVar13;\n  long *local_58;\n  ulong uStack_50;\n  undefined8 local_48;\n  \n  lVar1 = *(long *)(param_1 + 0x300);\n  if (lVar1 == 0) {\n    return;\n  }\n  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\nLAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }\n  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n  if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    /* WARNING: Subroutine does not return */\n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "ulong *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "long *local_58;" (sized_type_specifier "long" long) (pointer_declarator "*local_58" * identifier) ;) (declaration "ulong uStack_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (expression_statement "lVar1 = *(long *)(param_1 + 0x300);" (assignment_expression "lVar1 = *(long *)(param_1 + 0x300)" identifier = (pointer_expression "*(long *)(param_1 + 0x300)" * (cast_expression "(long *)(param_1 + 0x300)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x300)" ( (binary_expression "param_1 + 0x300" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 == 0) {\n    return;\n  }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" if (parenthesized_expression "((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0))" ( (binary_expression "(param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)" (parenthesized_expression "(param_3 != (long *)0x0)" ( (binary_expression "param_3 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)" ( (comma_expression "lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0" (assignment_expression "lVar5 = (**(code **)(*param_3 + 0x50))(param_3)" identifier = (call_expression "(**(code **)(*param_3 + 0x50))(param_3)" (parenthesized_expression "(**(code **)(*param_3 + 0x50))" ( (pointer_expression "**(code **)(*param_3 + 0x50)" * (pointer_expression "*(code **)(*param_3 + 0x50)" * (cast_expression "(code **)(*param_3 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x50)" ( (binary_expression "*param_3 + 0x50" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_3)" ( identifier )))) , (binary_expression "lVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" { (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (expression_statement "*puVar12 = param_3;" (assignment_expression "*puVar12 = param_3" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = 3;" (assignment_expression "puVar12[2] = 3" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) })) (if_statement "if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" if (parenthesized_expression "(param_4 == (long *)0x0)" ( (binary_expression "param_4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }" { (if_statement "if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }" if (parenthesized_expression "((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0))" ( (binary_expression "(param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)" (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(long *)(param_5 + 0x28) != 0)" ( (binary_expression "*(long *)(param_5 + 0x28) != 0" (pointer_expression "*(long *)(param_5 + 0x28)" * (cast_expression "(long *)(param_5 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }" { (labeled_statement "LAB_00215a14:\n      bVar13 = false;" statement_identifier : (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;)) (goto_statement "goto LAB_002156b5;" goto statement_identifier ;) })) }) (else_clause "else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" else (compound_statement "{\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" { (expression_statement "lVar5 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (if_statement "if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }" { (expression_statement "lVar5 = lVar1 + 0x38;" (assignment_expression "lVar5 = lVar1 + 0x38" identifier = (binary_expression "lVar1 + 0x38" identifier + number_literal)) ;) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" identifier = (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0xfffffffe00000002;" (assignment_expression "local_48 = 0xfffffffe00000002" identifier = number_literal) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }" { (expression_statement "FUN_001bc0a0(lVar5,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar5,puVar12,&local_58)" identifier (argument_list "(lVar5,puVar12,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }" else (compound_statement "{\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }" { (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = 0xfffffffe00000002;" (assignment_expression "puVar12[2] = 0xfffffffe00000002" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" identifier = (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "local_48 = 0x17;" (assignment_expression "local_48 = 0x17" identifier = number_literal) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x48);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x48)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "puVar2 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar2 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (if_statement "if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }" if (parenthesized_expression "(puVar2 == puVar12)" ( (binary_expression "puVar2 == puVar12" identifier == identifier) )) (compound_statement "{\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }" { (expression_statement "FUN_001bc0a0(lVar5,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar5,puVar12,&local_58)" identifier (argument_list "(lVar5,puVar12,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar6 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar6 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x48);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x48)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }" else (compound_statement "{\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }" { (expression_statement "puVar6 = puVar2 + 3;" (assignment_expression "puVar6 = puVar2 + 3" identifier = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) (expression_statement "*puVar2 = local_58;" (assignment_expression "*puVar2 = local_58" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = 0;" (assignment_expression "puVar2[1] = 0" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[2] = 0x17;" (assignment_expression "puVar2[2] = 0x17" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar6;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar6" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_48 = 0xffffffff00000014;" (assignment_expression "local_48 = 0xffffffff00000014" identifier = number_literal) ;) (expression_statement "local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);" (assignment_expression "local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" identifier = (cast_expression "(long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" identifier (argument_list "(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" ( (field_expression "local_58._4_4_" identifier . field_identifier) , (binary_expression "(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11" (parenthesized_expression "(-(uint)(param_2 == '\0') & 0xfffffff6)" ( (binary_expression "-(uint)(param_2 == '\0') & 0xfffffff6" (unary_expression "-(uint)(param_2 == '\0')" - (call_expression "(uint)(param_2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal) ))))) ;) (if_statement "if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }" if (parenthesized_expression "(puVar12 == puVar6)" ( (binary_expression "puVar12 == puVar6" identifier == identifier) )) (compound_statement "{\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }" { (expression_statement "FUN_001bc0a0(lVar5,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar5,puVar12,&local_58)" identifier (argument_list "(lVar5,puVar12,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }" else (compound_statement "{\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }" { (expression_statement "*puVar6 = local_58;" (assignment_expression "*puVar6 = local_58" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "puVar6[1] = uStack_50;" (assignment_expression "puVar6[1] = uStack_50" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[2] = 0xffffffff00000014;" (assignment_expression "puVar6[2] = 0xffffffff00000014" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar6 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar6 + 3" identifier + number_literal)) ;) }))) })) (if_statement "if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }" if (parenthesized_expression "((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0))" ( (binary_expression "(param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)" (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(long *)(param_5 + 0x28) == 0)" ( (binary_expression "*(long *)(param_5 + 0x28) == 0" (pointer_expression "*(long *)(param_5 + 0x28)" * (cast_expression "(long *)(param_5 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }" { (if_statement "if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;" if (parenthesized_expression "((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))" ( (binary_expression "(param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)))" (parenthesized_expression "(param_4 == (long *)0x0)" ( (binary_expression "param_4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)))" ( (parenthesized_expression "(param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))" ( (binary_expression "param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)" (binary_expression "param_7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)" ( (comma_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0" (assignment_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) , (binary_expression "lVar5 == 0" identifier == number_literal)) ))) )) ))) )) (goto_statement "goto LAB_00215928;" goto statement_identifier ;)) (if_statement "if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }" { (expression_statement "(**(code **)(*param_4 + 0x50))(param_4);" (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) }) (else_clause "else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }" else (compound_statement "{\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }" { (expression_statement "lVar5 = *(long *)(param_5 + 0x28);" (assignment_expression "lVar5 = *(long *)(param_5 + 0x28)" identifier = (pointer_expression "*(long *)(param_5 + 0x28)" * (cast_expression "(long *)(param_5 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar8 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "lVar8 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "bVar13 = lVar8 != 0 && lVar5 != 0;" (assignment_expression "bVar13 = lVar8 != 0 && lVar5 != 0" identifier = (binary_expression "lVar8 != 0 && lVar5 != 0" (binary_expression "lVar8 != 0" identifier != number_literal) && (binary_expression "lVar5 != 0" identifier != number_literal))) ;) (if_statement "if (lVar5 != 0) goto LAB_002156b5;" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002156b5;" goto statement_identifier ;)) }))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" identifier = (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))))) ;) }) (else_clause "else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }" else (compound_statement "{\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }" { (if_statement "if (param_4 == (long *)0x0) goto LAB_00215a14;" if (parenthesized_expression "(param_4 == (long *)0x0)" ( (binary_expression "param_4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00215a14;" goto statement_identifier ;)) (expression_statement "lVar5 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "bVar13 = lVar5 != 0;" (assignment_expression "bVar13 = lVar5 != 0" identifier = (binary_expression "lVar5 != 0" identifier != number_literal)) ;) (labeled_statement "LAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);" statement_identifier : (expression_statement "local_58 = *(long **)(param_5 + 0x28);" (assignment_expression "local_58 = *(long **)(param_5 + 0x28)" identifier = (pointer_expression "*(long **)(param_5 + 0x28)" * (cast_expression "(long **)(param_5 + 0x28)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) ))))) ;)) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }))) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);" (assignment_expression "local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" identifier = (call_expression "(ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" ( (binary_expression "(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11" (parenthesized_expression "(-(uint)(param_2 == '\0') & 0xfffffff6)" ( (binary_expression "-(uint)(param_2 == '\0') & 0xfffffff6" (unary_expression "-(uint)(param_2 == '\0')" - (call_expression "(uint)(param_2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal) )))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) (expression_statement "iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;" (assignment_expression "iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12" identifier = (binary_expression "(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12" (parenthesized_expression "(-(uint)(param_2 == '\0') & 0xfffffff6)" ( (binary_expression "-(uint)(param_2 == '\0') & 0xfffffff6" (unary_expression "-(uint)(param_2 == '\0')" - (call_expression "(uint)(param_2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal)) ;) (if_statement "if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (if_statement "if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }" if (parenthesized_expression "(param_7 == '\0')" ( (binary_expression "param_7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }" { (labeled_statement "LAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);" statement_identifier : (expression_statement "local_58 = *(long **)(param_5 + 0x28);" (assignment_expression "local_58 = *(long **)(param_5 + 0x28)" identifier = (pointer_expression "*(long **)(param_5 + 0x28)" * (cast_expression "(long **)(param_5 + 0x28)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) ))))) ;)) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00215a4c;" goto statement_identifier ;)) }) (else_clause "else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }" else (compound_statement "{\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }" { (expression_statement "uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "uStack_50 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "local_58 = *(long **)(param_5 + 0x28);" (assignment_expression "local_58 = *(long **)(param_5 + 0x28)" identifier = (pointer_expression "*(long **)(param_5 + 0x28)" * (cast_expression "(long **)(param_5 + 0x28)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }" { (labeled_statement "LAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);" statement_identifier : (expression_statement "local_48 = CONCAT44(0xfffffffe,iVar10);" (assignment_expression "local_48 = CONCAT44(0xfffffffe,iVar10)" identifier = (call_expression "CONCAT44(0xfffffffe,iVar10)" identifier (argument_list "(0xfffffffe,iVar10)" ( number_literal , identifier )))) ;)) (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (goto_statement "goto LAB_002159be;" goto statement_identifier ;) })) }))) (expression_statement "local_48 = CONCAT44(0xfffffffe,iVar10);" (assignment_expression "local_48 = CONCAT44(0xfffffffe,iVar10)" identifier = (call_expression "CONCAT44(0xfffffffe,iVar10)" identifier (argument_list "(0xfffffffe,iVar10)" ( number_literal , identifier )))) ;) (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = uStack_50;" (assignment_expression "puVar12[1] = uStack_50" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (if_statement "if (bVar4) goto LAB_00215a20;" if (parenthesized_expression "(bVar4)" ( identifier )) (goto_statement "goto LAB_00215a20;" goto statement_identifier ;)) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" identifier = (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_48 = CONCAT44(0xfffffffe,iVar10);" (assignment_expression "local_48 = CONCAT44(0xfffffffe,iVar10)" identifier = (call_expression "CONCAT44(0xfffffffe,iVar10)" identifier (argument_list "(0xfffffffe,iVar10)" ( number_literal , identifier )))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00215a4c;" goto statement_identifier ;)) (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) (labeled_statement "LAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;" statement_identifier : (expression_statement "puVar7 = PTR_DAT_004ba7c8;" (assignment_expression "puVar7 = PTR_DAT_004ba7c8" identifier = identifier) ;)) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x18)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }" { comment (expression_statement "FUN_001e9890("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);" (assignment_expression "iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" identifier = (pointer_expression "**(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" * (pointer_expression "*(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" * (cast_expression "(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x18)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x18" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" if (parenthesized_expression "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }" { (if_statement "if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }" if (parenthesized_expression "(iVar10 == 0x20)" ( (binary_expression "iVar10 == 0x20" identifier == number_literal) )) (compound_statement "{\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }" { (expression_statement "uVar11 = 0xc;" (assignment_expression "uVar11 = 0xc" identifier = number_literal) ;) (expression_statement "uVar9 = 9;" (assignment_expression "uVar9 = 9" identifier = number_literal) ;) }) (else_clause "else {\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }" else (compound_statement "{\n        if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }" { (if_statement "if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }" if (parenthesized_expression "(iVar10 != 0x40)" ( (binary_expression "iVar10 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }" { comment (expression_statement "FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");" (call_expression "FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags")" identifier (argument_list "("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""add_target_dynamic_tags"" " string_content ") ))) ;) })) (expression_statement "uVar11 = 0x18;" (assignment_expression "uVar11 = 0x18" identifier = number_literal) ;) (expression_statement "uVar9 = 9;" (assignment_expression "uVar9 = 9" identifier = number_literal) ;) }))) }) (else_clause "else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" else (if_statement "if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" if (parenthesized_expression "(iVar10 == 0x20)" ( (binary_expression "iVar10 == 0x20" identifier == number_literal) )) (compound_statement "{\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }" { (expression_statement "uVar11 = 8;" (assignment_expression "uVar11 = 8" identifier = number_literal) ;) (expression_statement "uVar9 = 0x13;" (assignment_expression "uVar9 = 0x13" identifier = number_literal) ;) }) (else_clause "else {\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" else (compound_statement "{\n      if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" { (if_statement "if (iVar10 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }" if (parenthesized_expression "(iVar10 != 0x40)" ( (binary_expression "iVar10 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }" { comment (expression_statement "FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");" (call_expression "FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags")" identifier (argument_list "("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""add_target_dynamic_tags"" " string_content ") ))) ;) })) (expression_statement "uVar11 = 0x10;" (assignment_expression "uVar11 = 0x10" identifier = number_literal) ;) (expression_statement "uVar9 = 0x13;" (assignment_expression "uVar9 = 0x13" identifier = number_literal) ;) }))))) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_48 = CONCAT44(0xffffffff,uVar9);" (assignment_expression "local_48 = CONCAT44(0xffffffff,uVar9)" identifier = (call_expression "CONCAT44(0xffffffff,uVar9)" identifier (argument_list "(0xffffffff,uVar9)" ( number_literal , identifier )))) ;) (expression_statement "local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);" (assignment_expression "local_58 = (long *)CONCAT44(local_58._4_4_,uVar11)" identifier = (cast_expression "(long *)CONCAT44(local_58._4_4_,uVar11)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(local_58._4_4_,uVar11)" identifier (argument_list "(local_58._4_4_,uVar11)" ( (field_expression "local_58._4_4_" identifier . field_identifier) , identifier ))))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar7 = PTR_DAT_004ba7c8;" (assignment_expression "puVar7 = PTR_DAT_004ba7c8" identifier = identifier) ;) }) (else_clause "else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = uStack_50;" (assignment_expression "puVar12[1] = uStack_50" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) (expression_statement "lVar5 = *(long *)(puVar7 + 0x10);" (assignment_expression "lVar5 = *(long *)(puVar7 + 0x10)" identifier = (pointer_expression "*(long *)(puVar7 + 0x10)" * (cast_expression "(long *)(puVar7 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x10)" ( (binary_expression "puVar7 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar5 == 0) goto LAB_00215945;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00215945;" goto statement_identifier ;)) (if_statement "if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }" if (parenthesized_expression "(((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0))" ( (binary_expression "((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)" (parenthesized_expression "((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4))" ( (binary_expression "(*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)" (parenthesized_expression "(*(char *)(lVar5 + 0x7e39) == '\0')" ( (binary_expression "*(char *)(lVar5 + 0x7e39) == '\0'" (pointer_expression "*(char *)(lVar5 + 0x7e39)" * (cast_expression "(char *)(lVar5 + 0x7e39)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x7e39)" ( (binary_expression "lVar5 + 0x7e39" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) ))) )) || (parenthesized_expression "(*(long *)(param_5 + 0x38) == 0)" ( (binary_expression "*(long *)(param_5 + 0x38) == 0" (pointer_expression "*(long *)(param_5 + 0x38)" * (cast_expression "(long *)(param_5 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x38)" ( (binary_expression "param_5 + 0x38" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }" { (if_statement "if (param_6 == '\0') {\n        return;\n      }" if (parenthesized_expression "(param_6 == '\0')" ( (binary_expression "param_6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_00215811;" goto statement_identifier ;) })) (expression_statement "local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));" (assignment_expression "local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" identifier = (cast_expression "(long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" identifier (argument_list "(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" ( (field_expression "local_58._4_4_" identifier . field_identifier) , (cast_expression "(int)*(long *)(param_5 + 0x38)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(long *)(param_5 + 0x38)" * (cast_expression "(long *)(param_5 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x38)" ( (binary_expression "param_5 + 0x38" identifier + number_literal) ))))) ))))) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);" (assignment_expression "local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9)" identifier = (call_expression "CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9)" identifier (argument_list "(0xffffffff,(param_2 != '\0') + 0x6ffffff9)" ( number_literal , (binary_expression "(param_2 != '\0') + 0x6ffffff9" (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) + number_literal) )))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = uStack_50;" (assignment_expression "puVar12[1] = uStack_50" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) }))) (labeled_statement "LAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }" statement_identifier : (if_statement "if (param_6 == '\0') {\n    return;\n  }" if (parenthesized_expression "(param_6 == '\0')" ( (binary_expression "param_6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }" { (labeled_statement "LAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }" statement_identifier : (if_statement "if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }" if (parenthesized_expression "(*(char *)(lVar5 + 0x2a61) == '\0')" ( (binary_expression "*(char *)(lVar5 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar5 + 0x2a61)" * (cast_expression "(char *)(lVar5 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x2a61)" ( (binary_expression "lVar5 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }" { (expression_statement "local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);" (assignment_expression "local_58 = (long *)((ulong)local_58 & 0xffffffff00000000)" identifier = (cast_expression "(long *)((ulong)local_58 & 0xffffffff00000000)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_58 & 0xffffffff00000000)" ( (binary_expression "(ulong)local_58 & 0xffffffff00000000" (cast_expression "(ulong)local_58" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_48 = 0xffffffff00000015;" (assignment_expression "local_48 = 0xffffffff00000015" identifier = number_literal) ;) (expression_statement "puVar3 = *(ulong **)(lVar1 + 0x40);" (assignment_expression "puVar3 = *(ulong **)(lVar1 + 0x40)" identifier = (pointer_expression "*(ulong **)(lVar1 + 0x40)" * (cast_expression "(ulong **)(lVar1 + 0x40)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }" if (parenthesized_expression "(puVar3 == *(ulong **)(lVar1 + 0x48))" ( (binary_expression "puVar3 == *(ulong **)(lVar1 + 0x48)" identifier == (pointer_expression "*(ulong **)(lVar1 + 0x48)" * (cast_expression "(ulong **)(lVar1 + 0x48)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar3,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }" else (compound_statement "{\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }" { (expression_statement "*puVar3 = (ulong)local_58;" (assignment_expression "*puVar3 = (ulong)local_58" (pointer_expression "*puVar3" * identifier) = (cast_expression "(ulong)local_58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar3[1] = uStack_50;" (assignment_expression "puVar3[1] = uStack_50" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = 0xffffffff00000015;" (assignment_expression "puVar3[2] = 0xffffffff00000015" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(ulong **)(lVar1 + 0x40) = puVar3 + 3;" (assignment_expression "*(ulong **)(lVar1 + 0x40) = puVar3 + 3" (pointer_expression "*(ulong **)(lVar1 + 0x40)" * (cast_expression "(ulong **)(lVar1 + 0x40)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar3 + 3" identifier + number_literal)) ;) }))) }))) (return_statement "return;" return ;) })) (labeled_statement "LAB_00215945:\n                    /* WARNING: Subroutine does not return */\n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void add_target_dynamic_tags(Layout * this, bool use_rel, Output_data *\n   plt_got, Output_data * plt_rel, Output_data_reloc_generic * dyn_rel, bool add_debug, bool\n   dynrel_includes_plt) */\n\nvoid __thiscall\ngold::Layout::add_target_dynamic_tags\n          (Layout *this,bool use_rel,Output_data *plt_got,Output_data *plt_rel,\n          Output_data_reloc_generic *dyn_rel,bool add_debug,bool dynrel_includes_plt)\n\n{\n  Dynamic_entries *this_00;\n  Output_data_dynamic *pOVar1;\n  anon_union_8_4_94c5dad9_for_u_ *paVar2;\n  Output_section *pOVar3;\n  bool bVar4;\n  int iVar5;\n  undefined4 extraout_var;\n  undefined4 extraout_var_00;\n  undefined4 extraout_var_01;\n  undefined4 extraout_var_02;\n  anon_union_8_4_94c5dad9_for_u_ *paVar6;\n  undefined4 extraout_var_03;\n  undefined4 extraout_var_04;\n  Parameters *pPVar7;\n  General_options *pGVar8;\n  undefined4 extraout_var_05;\n  undefined4 extraout_var_06;\n  undefined4 extraout_var_07;\n  undefined4 extraout_var_08;\n  undefined4 uVar9;\n  iterator iVar10;\n  bool bVar11;\n  anon_union_8_4_94c5dad9_for_u_ local_58;\n  anon_union_8_4_94c5dad9_for_u_ aStack_50;\n  anon_union_8_4_94c5dad9_for_u_ local_48;\n  \n  pOVar1 = this->dynamic_data_;\n  if (pOVar1 == (Output_data_dynamic *)0x0) {\n    return;\n  }\n  if ((plt_got != (Output_data *)0x0) &&\n     (iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got), CONCAT44(extraout_var,iVar5) != 0)) {\n    local_48 = (anon_union_8_4_94c5dad9_for_u_)0x3;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50.od = (Output_data *)0x0;\n    local_58.od = plt_got;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = plt_got;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      (iVar10._M_current)->tag_ = DT_PLTGOT;\n      (iVar10._M_current)->offset_ = 0;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }\n  if (plt_rel == (Output_data *)0x0) {\n    if ((dyn_rel != (Output_data_reloc_generic *)0x0) &&\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0)) {\nLAB_00215a14:\n      bVar11 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n    if (CONCAT44(extraout_var_00,iVar5) != 0) {\n      this_00 = &pOVar1->entries_;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_01;\n      aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_02;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;\n      paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_;\n      aStack_50.od = (Output_data *)0x0;\n      if (paVar2 == &(iVar10._M_current)->u_) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }\n      else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;\n      local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n      if (&(iVar10._M_current)->u_ == paVar6) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }\n    }\n    if ((dyn_rel == (Output_data_reloc_generic *)0x0) ||\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0)) {\n      if ((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))) goto LAB_00215928;\n      if (dyn_rel == (Output_data_reloc_generic *)0x0) {\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }\n      else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_06;\n    }\n    else {\n      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;\n      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;\nLAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n      bVar4 = true;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n    local_48._4_4_ = 0;\n    local_48.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      (iVar10._M_current)->u_ = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    iVar5 = (-(uint)!use_rel & 0xfffffff6) + 0x12;\n    if (bVar11) {\n      if (dynrel_includes_plt) {\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }\n      else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      (iVar10._M_current)->u_ = local_58;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_07;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      aStack_50.od = (Output_data *)0x0;\n      if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      (iVar10._M_current)->u_ = local_58;\n      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\nLAB_002159be:\n    pPVar7 = parameters;\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    iVar5 = parameters->target_->pti_->size;\n    if (use_rel) {\n      if (iVar5 == 0x20) {\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }\n      else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }\n    }\n    else if (iVar5 == 0x20) {\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }\n    else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_58.val = uVar9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      pPVar7 = parameters;\n    }\n    else {\n                    /* WARNING: Store size is inaccurate */\n      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    pGVar8 = pPVar7->options_;\n    if (pGVar8 == (General_options *)0x0) goto LAB_00215945;\n    if ((((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)\n       ) {\n      if (!add_debug) {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58.val = (int)dyn_rel->relative_reloc_count_;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_48.val = use_rel + 0x6ffffff9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }\nLAB_00215928:\n  if (!add_debug) {\n    return;\n  }\n  pGVar8 = parameters->options_;\n  if (pGVar8 != (General_options *)0x0) {\nLAB_00215811:\n    if ((pGVar8->shared_).value == false) {\n      local_58.od = local_58.od & 0xffffffff00000000;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}\n\n" comment comment comment (function_definition "void __thiscall\ngold::Layout::add_target_dynamic_tags\n          (Layout *this,bool use_rel,Output_data *plt_got,Output_data *plt_rel,\n          Output_data_reloc_generic *dyn_rel,bool add_debug,bool dynrel_includes_plt)\n\n{\n  Dynamic_entries *this_00;\n  Output_data_dynamic *pOVar1;\n  anon_union_8_4_94c5dad9_for_u_ *paVar2;\n  Output_section *pOVar3;\n  bool bVar4;\n  int iVar5;\n  undefined4 extraout_var;\n  undefined4 extraout_var_00;\n  undefined4 extraout_var_01;\n  undefined4 extraout_var_02;\n  anon_union_8_4_94c5dad9_for_u_ *paVar6;\n  undefined4 extraout_var_03;\n  undefined4 extraout_var_04;\n  Parameters *pPVar7;\n  General_options *pGVar8;\n  undefined4 extraout_var_05;\n  undefined4 extraout_var_06;\n  undefined4 extraout_var_07;\n  undefined4 extraout_var_08;\n  undefined4 uVar9;\n  iterator iVar10;\n  bool bVar11;\n  anon_union_8_4_94c5dad9_for_u_ local_58;\n  anon_union_8_4_94c5dad9_for_u_ aStack_50;\n  anon_union_8_4_94c5dad9_for_u_ local_48;\n  \n  pOVar1 = this->dynamic_data_;\n  if (pOVar1 == (Output_data_dynamic *)0x0) {\n    return;\n  }\n  if ((plt_got != (Output_data *)0x0) &&\n     (iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got), CONCAT44(extraout_var,iVar5) != 0)) {\n    local_48 = (anon_union_8_4_94c5dad9_for_u_)0x3;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50.od = (Output_data *)0x0;\n    local_58.od = plt_got;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = plt_got;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      (iVar10._M_current)->tag_ = DT_PLTGOT;\n      (iVar10._M_current)->offset_ = 0;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }\n  if (plt_rel == (Output_data *)0x0) {\n    if ((dyn_rel != (Output_data_reloc_generic *)0x0) &&\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0)) {\nLAB_00215a14:\n      bVar11 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n    if (CONCAT44(extraout_var_00,iVar5) != 0) {\n      this_00 = &pOVar1->entries_;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_01;\n      aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_02;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;\n      paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_;\n      aStack_50.od = (Output_data *)0x0;\n      if (paVar2 == &(iVar10._M_current)->u_) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }\n      else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;\n      local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n      if (&(iVar10._M_current)->u_ == paVar6) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }\n    }\n    if ((dyn_rel == (Output_data_reloc_generic *)0x0) ||\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0)) {\n      if ((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))) goto LAB_00215928;\n      if (dyn_rel == (Output_data_reloc_generic *)0x0) {\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }\n      else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_06;\n    }\n    else {\n      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;\n      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;\nLAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n      bVar4 = true;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n    local_48._4_4_ = 0;\n    local_48.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      (iVar10._M_current)->u_ = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    iVar5 = (-(uint)!use_rel & 0xfffffff6) + 0x12;\n    if (bVar11) {\n      if (dynrel_includes_plt) {\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }\n      else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      (iVar10._M_current)->u_ = local_58;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_07;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      aStack_50.od = (Output_data *)0x0;\n      if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      (iVar10._M_current)->u_ = local_58;\n      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\nLAB_002159be:\n    pPVar7 = parameters;\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    iVar5 = parameters->target_->pti_->size;\n    if (use_rel) {\n      if (iVar5 == 0x20) {\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }\n      else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }\n    }\n    else if (iVar5 == 0x20) {\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }\n    else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_58.val = uVar9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      pPVar7 = parameters;\n    }\n    else {\n                    /* WARNING: Store size is inaccurate */\n      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    pGVar8 = pPVar7->options_;\n    if (pGVar8 == (General_options *)0x0) goto LAB_00215945;\n    if ((((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)\n       ) {\n      if (!add_debug) {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58.val = (int)dyn_rel->relative_reloc_count_;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_48.val = use_rel + 0x6ffffff9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }\nLAB_00215928:\n  if (!add_debug) {\n    return;\n  }\n  pGVar8 = parameters->options_;\n  if (pGVar8 != (General_options *)0x0) {\nLAB_00215811:\n    if ((pGVar8->shared_).value == false) {\n      local_58.od = local_58.od & 0xffffffff00000000;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "add_target_dynamic_tags\n          (Layout *this,bool use_rel,Output_data *plt_got,Output_data *plt_rel,\n          Output_data_reloc_generic *dyn_rel,bool add_debug,bool dynrel_includes_plt)" identifier (parameter_list "(Layout *this,bool use_rel,Output_data *plt_got,Output_data *plt_rel,\n          Output_data_reloc_generic *dyn_rel,bool add_debug,bool dynrel_includes_plt)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "bool use_rel" primitive_type identifier) , (parameter_declaration "Output_data *plt_got" type_identifier (pointer_declarator "*plt_got" * identifier)) , (parameter_declaration "Output_data *plt_rel" type_identifier (pointer_declarator "*plt_rel" * identifier)) , (parameter_declaration "Output_data_reloc_generic *dyn_rel" type_identifier (pointer_declarator "*dyn_rel" * identifier)) , (parameter_declaration "bool add_debug" primitive_type identifier) , (parameter_declaration "bool dynrel_includes_plt" primitive_type identifier) ))) (compound_statement "{\n  Dynamic_entries *this_00;\n  Output_data_dynamic *pOVar1;\n  anon_union_8_4_94c5dad9_for_u_ *paVar2;\n  Output_section *pOVar3;\n  bool bVar4;\n  int iVar5;\n  undefined4 extraout_var;\n  undefined4 extraout_var_00;\n  undefined4 extraout_var_01;\n  undefined4 extraout_var_02;\n  anon_union_8_4_94c5dad9_for_u_ *paVar6;\n  undefined4 extraout_var_03;\n  undefined4 extraout_var_04;\n  Parameters *pPVar7;\n  General_options *pGVar8;\n  undefined4 extraout_var_05;\n  undefined4 extraout_var_06;\n  undefined4 extraout_var_07;\n  undefined4 extraout_var_08;\n  undefined4 uVar9;\n  iterator iVar10;\n  bool bVar11;\n  anon_union_8_4_94c5dad9_for_u_ local_58;\n  anon_union_8_4_94c5dad9_for_u_ aStack_50;\n  anon_union_8_4_94c5dad9_for_u_ local_48;\n  \n  pOVar1 = this->dynamic_data_;\n  if (pOVar1 == (Output_data_dynamic *)0x0) {\n    return;\n  }\n  if ((plt_got != (Output_data *)0x0) &&\n     (iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got), CONCAT44(extraout_var,iVar5) != 0)) {\n    local_48 = (anon_union_8_4_94c5dad9_for_u_)0x3;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50.od = (Output_data *)0x0;\n    local_58.od = plt_got;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = plt_got;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      (iVar10._M_current)->tag_ = DT_PLTGOT;\n      (iVar10._M_current)->offset_ = 0;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }\n  if (plt_rel == (Output_data *)0x0) {\n    if ((dyn_rel != (Output_data_reloc_generic *)0x0) &&\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0)) {\nLAB_00215a14:\n      bVar11 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n    if (CONCAT44(extraout_var_00,iVar5) != 0) {\n      this_00 = &pOVar1->entries_;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_01;\n      aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_02;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;\n      paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_;\n      aStack_50.od = (Output_data *)0x0;\n      if (paVar2 == &(iVar10._M_current)->u_) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }\n      else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;\n      local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n      if (&(iVar10._M_current)->u_ == paVar6) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }\n    }\n    if ((dyn_rel == (Output_data_reloc_generic *)0x0) ||\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0)) {\n      if ((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))) goto LAB_00215928;\n      if (dyn_rel == (Output_data_reloc_generic *)0x0) {\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }\n      else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_06;\n    }\n    else {\n      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;\n      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;\nLAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n      bVar4 = true;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n    local_48._4_4_ = 0;\n    local_48.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      (iVar10._M_current)->u_ = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    iVar5 = (-(uint)!use_rel & 0xfffffff6) + 0x12;\n    if (bVar11) {\n      if (dynrel_includes_plt) {\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }\n      else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      (iVar10._M_current)->u_ = local_58;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_07;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      aStack_50.od = (Output_data *)0x0;\n      if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      (iVar10._M_current)->u_ = local_58;\n      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\nLAB_002159be:\n    pPVar7 = parameters;\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    iVar5 = parameters->target_->pti_->size;\n    if (use_rel) {\n      if (iVar5 == 0x20) {\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }\n      else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }\n    }\n    else if (iVar5 == 0x20) {\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }\n    else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_58.val = uVar9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      pPVar7 = parameters;\n    }\n    else {\n                    /* WARNING: Store size is inaccurate */\n      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    pGVar8 = pPVar7->options_;\n    if (pGVar8 == (General_options *)0x0) goto LAB_00215945;\n    if ((((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)\n       ) {\n      if (!add_debug) {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58.val = (int)dyn_rel->relative_reloc_count_;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_48.val = use_rel + 0x6ffffff9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }\nLAB_00215928:\n  if (!add_debug) {\n    return;\n  }\n  pGVar8 = parameters->options_;\n  if (pGVar8 != (General_options *)0x0) {\nLAB_00215811:\n    if ((pGVar8->shared_).value == false) {\n      local_58.od = local_58.od & 0xffffffff00000000;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "Dynamic_entries *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Output_data_dynamic *pOVar1;" type_identifier (pointer_declarator "*pOVar1" * identifier) ;) (declaration "anon_union_8_4_94c5dad9_for_u_ *paVar2;" type_identifier (pointer_declarator "*paVar2" * identifier) ;) (declaration "Output_section *pOVar3;" type_identifier (pointer_declarator "*pOVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (declaration "undefined4 extraout_var_00;" type_identifier identifier ;) (declaration "undefined4 extraout_var_01;" type_identifier identifier ;) (declaration "undefined4 extraout_var_02;" type_identifier identifier ;) (declaration "anon_union_8_4_94c5dad9_for_u_ *paVar6;" type_identifier (pointer_declarator "*paVar6" * identifier) ;) (declaration "undefined4 extraout_var_03;" type_identifier identifier ;) (declaration "undefined4 extraout_var_04;" type_identifier identifier ;) (declaration "Parameters *pPVar7;" type_identifier (pointer_declarator "*pPVar7" * identifier) ;) (declaration "General_options *pGVar8;" type_identifier (pointer_declarator "*pGVar8" * identifier) ;) (declaration "undefined4 extraout_var_05;" type_identifier identifier ;) (declaration "undefined4 extraout_var_06;" type_identifier identifier ;) (declaration "undefined4 extraout_var_07;" type_identifier identifier ;) (declaration "undefined4 extraout_var_08;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "iterator iVar10;" type_identifier identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "anon_union_8_4_94c5dad9_for_u_ local_58;" type_identifier identifier ;) (declaration "anon_union_8_4_94c5dad9_for_u_ aStack_50;" type_identifier identifier ;) (declaration "anon_union_8_4_94c5dad9_for_u_ local_48;" type_identifier identifier ;) (expression_statement "pOVar1 = this->dynamic_data_;" (assignment_expression "pOVar1 = this->dynamic_data_" identifier = (field_expression "this->dynamic_data_" identifier -> field_identifier)) ;) (if_statement "if (pOVar1 == (Output_data_dynamic *)0x0) {\n    return;\n  }" if (parenthesized_expression "(pOVar1 == (Output_data_dynamic *)0x0)" ( (binary_expression "pOVar1 == (Output_data_dynamic *)0x0" identifier == (cast_expression "(Output_data_dynamic *)0x0" ( (type_descriptor "Output_data_dynamic *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((plt_got != (Output_data *)0x0) &&\n     (iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got), CONCAT44(extraout_var,iVar5) != 0)) {\n    local_48 = (anon_union_8_4_94c5dad9_for_u_)0x3;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50.od = (Output_data *)0x0;\n    local_58.od = plt_got;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = plt_got;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      (iVar10._M_current)->tag_ = DT_PLTGOT;\n      (iVar10._M_current)->offset_ = 0;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }" if (parenthesized_expression "((plt_got != (Output_data *)0x0) &&\n     (iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got), CONCAT44(extraout_var,iVar5) != 0))" ( (binary_expression "(plt_got != (Output_data *)0x0) &&\n     (iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got), CONCAT44(extraout_var,iVar5) != 0)" (parenthesized_expression "(plt_got != (Output_data *)0x0)" ( (binary_expression "plt_got != (Output_data *)0x0" identifier != (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got), CONCAT44(extraout_var,iVar5) != 0)" ( (comma_expression "iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got), CONCAT44(extraout_var,iVar5) != 0" (assignment_expression "iVar5 = (*plt_got->_vptr_Output_data[10])(plt_got)" identifier = (call_expression "(*plt_got->_vptr_Output_data[10])(plt_got)" (parenthesized_expression "(*plt_got->_vptr_Output_data[10])" ( (pointer_expression "*plt_got->_vptr_Output_data[10]" * (subscript_expression "plt_got->_vptr_Output_data[10]" (field_expression "plt_got->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_got)" ( identifier )))) , (binary_expression "CONCAT44(extraout_var,iVar5) != 0" (call_expression "CONCAT44(extraout_var,iVar5)" identifier (argument_list "(extraout_var,iVar5)" ( identifier , identifier ))) != number_literal)) ))) )) (compound_statement "{\n    local_48 = (anon_union_8_4_94c5dad9_for_u_)0x3;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50.od = (Output_data *)0x0;\n    local_58.od = plt_got;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = plt_got;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      (iVar10._M_current)->tag_ = DT_PLTGOT;\n      (iVar10._M_current)->offset_ = 0;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }" { (expression_statement "local_48 = (anon_union_8_4_94c5dad9_for_u_)0x3;" (assignment_expression "local_48 = (anon_union_8_4_94c5dad9_for_u_)0x3" identifier = (cast_expression "(anon_union_8_4_94c5dad9_for_u_)0x3" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_" type_identifier) ) number_literal)) ;) (ERROR "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "aStack_50.od = (Output_data *)0x0;" (assignment_expression "aStack_50.od = (Output_data *)0x0" (field_expression "aStack_50.od" identifier . field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58.od = plt_got;" (assignment_expression "local_58.od = plt_got" (field_expression "local_58.od" identifier . field_identifier) = identifier) ;) (if_statement "if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = plt_got;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      (iVar10._M_current)->tag_ = DT_PLTGOT;\n      (iVar10._M_current)->offset_ = 0;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" if (parenthesized_expression "(iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage)" ( (ERROR "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) == (binary_expression "(pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n        ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }" { (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" (binary_expression "Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" ( (comma_expression "&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58" (pointer_expression "&pOVar1->entries_" & (field_expression "pOVar1->entries_" identifier -> field_identifier)) , (comma_expression "iVar10,(Dynamic_entry *)&local_58" identifier , (cast_expression "(Dynamic_entry *)&local_58" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)))) ))) ;))))) }) (else_clause "else {\n      ((iVar10._M_current)->u_).od = plt_got;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      (iVar10._M_current)->tag_ = DT_PLTGOT;\n      (iVar10._M_current)->offset_ = 0;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" else (compound_statement "{\n      ((iVar10._M_current)->u_).od = plt_got;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      (iVar10._M_current)->tag_ = DT_PLTGOT;\n      (iVar10._M_current)->offset_ = 0;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" { (expression_statement "((iVar10._M_current)->u_).od = plt_got;" (assignment_expression "((iVar10._M_current)->u_).od = plt_got" (field_expression "((iVar10._M_current)->u_).od" (parenthesized_expression "((iVar10._M_current)->u_)" ( (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(iVar10._M_current)->od2 = (Output_data *)0x0;" (assignment_expression "(iVar10._M_current)->od2 = (Output_data *)0x0" (field_expression "(iVar10._M_current)->od2" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(iVar10._M_current)->tag_ = DT_PLTGOT;" (assignment_expression "(iVar10._M_current)->tag_ = DT_PLTGOT" (field_expression "(iVar10._M_current)->tag_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar10._M_current)->offset_ = 0;" (assignment_expression "(iVar10._M_current)->offset_ = 0" (field_expression "(iVar10._M_current)->offset_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar1->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar10._M_current + 1" (field_expression "iVar10._M_current" identifier . field_identifier) + number_literal)) ;))) }))) })) (if_statement "if (plt_rel == (Output_data *)0x0) {\n    if ((dyn_rel != (Output_data_reloc_generic *)0x0) &&\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0)) {\nLAB_00215a14:\n      bVar11 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n    if (CONCAT44(extraout_var_00,iVar5) != 0) {\n      this_00 = &pOVar1->entries_;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_01;\n      aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_02;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;\n      paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_;\n      aStack_50.od = (Output_data *)0x0;\n      if (paVar2 == &(iVar10._M_current)->u_) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }\n      else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;\n      local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n      if (&(iVar10._M_current)->u_ == paVar6) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }\n    }\n    if ((dyn_rel == (Output_data_reloc_generic *)0x0) ||\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0)) {\n      if ((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))) goto LAB_00215928;\n      if (dyn_rel == (Output_data_reloc_generic *)0x0) {\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }\n      else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_06;\n    }\n    else {\n      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;\n      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;\nLAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n      bVar4 = true;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n    local_48._4_4_ = 0;\n    local_48.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      (iVar10._M_current)->u_ = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    iVar5 = (-(uint)!use_rel & 0xfffffff6) + 0x12;\n    if (bVar11) {\n      if (dynrel_includes_plt) {\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }\n      else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      (iVar10._M_current)->u_ = local_58;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_07;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      aStack_50.od = (Output_data *)0x0;\n      if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      (iVar10._M_current)->u_ = local_58;\n      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\nLAB_002159be:\n    pPVar7 = parameters;\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    iVar5 = parameters->target_->pti_->size;\n    if (use_rel) {\n      if (iVar5 == 0x20) {\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }\n      else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }\n    }\n    else if (iVar5 == 0x20) {\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }\n    else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_58.val = uVar9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      pPVar7 = parameters;\n    }\n    else {\n                    /* WARNING: Store size is inaccurate */\n      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    pGVar8 = pPVar7->options_;\n    if (pGVar8 == (General_options *)0x0) goto LAB_00215945;\n    if ((((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)\n       ) {\n      if (!add_debug) {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58.val = (int)dyn_rel->relative_reloc_count_;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_48.val = use_rel + 0x6ffffff9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }" if (parenthesized_expression "(plt_rel == (Output_data *)0x0)" ( (binary_expression "plt_rel == (Output_data *)0x0" identifier == (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((dyn_rel != (Output_data_reloc_generic *)0x0) &&\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0)) {\nLAB_00215a14:\n      bVar11 = false;\n      goto LAB_002156b5;\n    }\n  }" { (if_statement "if ((dyn_rel != (Output_data_reloc_generic *)0x0) &&\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0)) {\nLAB_00215a14:\n      bVar11 = false;\n      goto LAB_002156b5;\n    }" if (parenthesized_expression "((dyn_rel != (Output_data_reloc_generic *)0x0) &&\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0))" ( (binary_expression "(dyn_rel != (Output_data_reloc_generic *)0x0) &&\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0)" (parenthesized_expression "(dyn_rel != (Output_data_reloc_generic *)0x0)" ( (binary_expression "dyn_rel != (Output_data_reloc_generic *)0x0" identifier != (cast_expression "(Output_data_reloc_generic *)0x0" ( (type_descriptor "Output_data_reloc_generic *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0)" ( (binary_expression "(dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ !=\n        (Output_section *)0x0" (field_expression "(dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_" (field_expression "(dyn_rel->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(dyn_rel->super_Output_section_data_build)" ( (field_expression "dyn_rel->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\nLAB_00215a14:\n      bVar11 = false;\n      goto LAB_002156b5;\n    }" { (labeled_statement "LAB_00215a14:\n      bVar11 = false;" statement_identifier : (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;)) (goto_statement "goto LAB_002156b5;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n    if (CONCAT44(extraout_var_00,iVar5) != 0) {\n      this_00 = &pOVar1->entries_;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_01;\n      aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_02;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;\n      paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_;\n      aStack_50.od = (Output_data *)0x0;\n      if (paVar2 == &(iVar10._M_current)->u_) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }\n      else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;\n      local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n      if (&(iVar10._M_current)->u_ == paVar6) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }\n    }\n    if ((dyn_rel == (Output_data_reloc_generic *)0x0) ||\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0)) {\n      if ((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))) goto LAB_00215928;\n      if (dyn_rel == (Output_data_reloc_generic *)0x0) {\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }\n      else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_06;\n    }\n    else {\n      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;\n      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;\nLAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n      bVar4 = true;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n    local_48._4_4_ = 0;\n    local_48.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      (iVar10._M_current)->u_ = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    iVar5 = (-(uint)!use_rel & 0xfffffff6) + 0x12;\n    if (bVar11) {\n      if (dynrel_includes_plt) {\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }\n      else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      (iVar10._M_current)->u_ = local_58;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_07;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      aStack_50.od = (Output_data *)0x0;\n      if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      (iVar10._M_current)->u_ = local_58;\n      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\nLAB_002159be:\n    pPVar7 = parameters;\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    iVar5 = parameters->target_->pti_->size;\n    if (use_rel) {\n      if (iVar5 == 0x20) {\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }\n      else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }\n    }\n    else if (iVar5 == 0x20) {\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }\n    else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_58.val = uVar9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      pPVar7 = parameters;\n    }\n    else {\n                    /* WARNING: Store size is inaccurate */\n      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    pGVar8 = pPVar7->options_;\n    if (pGVar8 == (General_options *)0x0) goto LAB_00215945;\n    if ((((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)\n       ) {\n      if (!add_debug) {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58.val = (int)dyn_rel->relative_reloc_count_;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_48.val = use_rel + 0x6ffffff9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }" else (compound_statement "{\n    iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n    if (CONCAT44(extraout_var_00,iVar5) != 0) {\n      this_00 = &pOVar1->entries_;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_01;\n      aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_02;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;\n      paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_;\n      aStack_50.od = (Output_data *)0x0;\n      if (paVar2 == &(iVar10._M_current)->u_) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }\n      else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;\n      local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n      if (&(iVar10._M_current)->u_ == paVar6) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }\n    }\n    if ((dyn_rel == (Output_data_reloc_generic *)0x0) ||\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0)) {\n      if ((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))) goto LAB_00215928;\n      if (dyn_rel == (Output_data_reloc_generic *)0x0) {\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }\n      else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_06;\n    }\n    else {\n      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;\n      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;\nLAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n      bVar4 = true;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n    local_48._4_4_ = 0;\n    local_48.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      (iVar10._M_current)->u_ = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    iVar5 = (-(uint)!use_rel & 0xfffffff6) + 0x12;\n    if (bVar11) {\n      if (dynrel_includes_plt) {\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }\n      else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      (iVar10._M_current)->u_ = local_58;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_07;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      aStack_50.od = (Output_data *)0x0;\n      if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      (iVar10._M_current)->u_ = local_58;\n      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\nLAB_002159be:\n    pPVar7 = parameters;\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    iVar5 = parameters->target_->pti_->size;\n    if (use_rel) {\n      if (iVar5 == 0x20) {\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }\n      else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }\n    }\n    else if (iVar5 == 0x20) {\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }\n    else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_58.val = uVar9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      pPVar7 = parameters;\n    }\n    else {\n                    /* WARNING: Store size is inaccurate */\n      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n    pGVar8 = pPVar7->options_;\n    if (pGVar8 == (General_options *)0x0) goto LAB_00215945;\n    if ((((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)\n       ) {\n      if (!add_debug) {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58.val = (int)dyn_rel->relative_reloc_count_;\n    iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48._4_4_ = 0xffffffff;\n    local_48.val = use_rel + 0x6ffffff9;\n    if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }\n  }" { (expression_statement "iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);" (assignment_expression "iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel)" identifier = (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier )))) ;) (if_statement "if (CONCAT44(extraout_var_00,iVar5) != 0) {\n      this_00 = &pOVar1->entries_;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_01;\n      aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_02;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;\n      paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_;\n      aStack_50.od = (Output_data *)0x0;\n      if (paVar2 == &(iVar10._M_current)->u_) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }\n      else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;\n      local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n      if (&(iVar10._M_current)->u_ == paVar6) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }\n    }" if (parenthesized_expression "(CONCAT44(extraout_var_00,iVar5) != 0)" ( (binary_expression "CONCAT44(extraout_var_00,iVar5) != 0" (call_expression "CONCAT44(extraout_var_00,iVar5)" identifier (argument_list "(extraout_var_00,iVar5)" ( identifier , identifier ))) != number_literal) )) (compound_statement "{\n      this_00 = &pOVar1->entries_;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_01;\n      aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_02;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;\n      paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_;\n      aStack_50.od = (Output_data *)0x0;\n      if (paVar2 == &(iVar10._M_current)->u_) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }\n      else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;\n      local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;\n      if (&(iVar10._M_current)->u_ == paVar6) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }\n    }" { (expression_statement "this_00 = &pOVar1->entries_;" (assignment_expression "this_00 = &pOVar1->entries_" identifier = (pointer_expression "&pOVar1->entries_" & (field_expression "pOVar1->entries_" identifier -> field_identifier))) ;) (expression_statement "local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);" (assignment_expression "local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel)" (field_expression "local_58.val" identifier . field_identifier) = (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier )))) ;) (expression_statement "local_58._4_4_ = extraout_var_01;" (assignment_expression "local_58._4_4_ = extraout_var_01" (field_expression "local_58._4_4_" identifier . field_identifier) = identifier) ;) (expression_statement "aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;" (assignment_expression "aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0" identifier = (cast_expression "(anon_union_8_4_94c5dad9_for_u_)0x0" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_" type_identifier) ) number_literal)) ;) (expression_statement "local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002;" (assignment_expression "local_48 = (anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002" identifier = (cast_expression "(anon_union_8_4_94c5dad9_for_u_)0xfffffffe00000002" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_" type_identifier) ) number_literal)) ;) (ERROR "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n           super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n           super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n           ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n           ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n           ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (if_statement "if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }" if (parenthesized_expression "(iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)" ( (ERROR "iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) == (binary_expression "(pOVar1->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n          ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }" { (labeled_statement "std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::\n        vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" (binary_expression "Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58)" identifier (ERROR "&" &) > (parenthesized_expression "(this_00,iVar10,(Dynamic_entry *)&local_58)" ( (comma_expression "this_00,iVar10,(Dynamic_entry *)&local_58" identifier , (comma_expression "iVar10,(Dynamic_entry *)&local_58" identifier , (cast_expression "(Dynamic_entry *)&local_58" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)))) ))) ;))))) }) (else_clause "else {\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }" else (compound_statement "{\n        (iVar10._M_current)->u_ = local_58;\n        (iVar10._M_current)->od2 = (Output_data *)0x0;\n        (iVar10._M_current)->tag_ = DT_PLTRELSZ;\n        (iVar10._M_current)->offset_ = 0xfffffffe;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }" { (expression_statement "(iVar10._M_current)->u_ = local_58;" (assignment_expression "(iVar10._M_current)->u_ = local_58" (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar10._M_current)->od2 = (Output_data *)0x0;" (assignment_expression "(iVar10._M_current)->od2 = (Output_data *)0x0" (field_expression "(iVar10._M_current)->od2" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(iVar10._M_current)->tag_ = DT_PLTRELSZ;" (assignment_expression "(iVar10._M_current)->tag_ = DT_PLTRELSZ" (field_expression "(iVar10._M_current)->tag_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar10._M_current)->offset_ = 0xfffffffe;" (assignment_expression "(iVar10._M_current)->offset_ = 0xfffffffe" (field_expression "(iVar10._M_current)->offset_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar1->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar10._M_current + 1" (field_expression "iVar10._M_current" identifier . field_identifier) + number_literal)) ;))) }))) (expression_statement "local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);" (assignment_expression "local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel)" (field_expression "local_58.val" identifier . field_identifier) = (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier )))) ;) (expression_statement "local_58._4_4_ = extraout_var_02;" (assignment_expression "local_58._4_4_ = extraout_var_02" (field_expression "local_58._4_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17;" (assignment_expression "local_48 = (anon_union_8_4_94c5dad9_for_u_)0x17" identifier = (cast_expression "(anon_union_8_4_94c5dad9_for_u_)0x17" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_" type_identifier) ) number_literal)) ;) (ERROR "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n           super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n           super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n           ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n           ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n           ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_;" (assignment_expression "paVar2 = &((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_" identifier = (pointer_expression "&((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_" & (field_expression "((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)->u_" (parenthesized_expression "((pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish)" ( (ERROR "(pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "(pOVar1->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "(pOVar1->entries_).\n                 super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n                 super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n                 ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n                 ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) ;) (expression_statement "aStack_50.od = (Output_data *)0x0;" (assignment_expression "aStack_50.od = (Output_data *)0x0" (field_expression "aStack_50.od" identifier . field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (paVar2 == &(iVar10._M_current)->u_) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }\n      else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }" if (parenthesized_expression "(paVar2 == &(iVar10._M_current)->u_)" ( (binary_expression "paVar2 == &(iVar10._M_current)->u_" identifier == (pointer_expression "&(iVar10._M_current)->u_" & (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier))) )) (compound_statement "{\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n        paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n      }" { (labeled_statement "std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::\n        vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" (binary_expression "Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58)" identifier (ERROR "&" &) > (parenthesized_expression "(this_00,iVar10,(Dynamic_entry *)&local_58)" ( (comma_expression "this_00,iVar10,(Dynamic_entry *)&local_58" identifier , (comma_expression "iVar10,(Dynamic_entry *)&local_58" identifier , (cast_expression "(Dynamic_entry *)&local_58" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)))) ))) ;))))) (expression_statement "paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_;" (assignment_expression "paVar6 = &((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_" identifier = (pointer_expression "&((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_" & (field_expression "((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)->u_" (parenthesized_expression "((pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish)" ( (ERROR "(pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "(pOVar1->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "(pOVar1->entries_).\n                   super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n                   super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n                   ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n                   ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) ;) (ERROR "iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n             super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n             super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n             ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n             ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) }) (else_clause "else {\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }" else (compound_statement "{\n        paVar6 = paVar2 + 3;\n        *paVar2 = local_58;\n        paVar2[1].od = (Output_data *)0x0;\n        paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;\n      }" { (expression_statement "paVar6 = paVar2 + 3;" (assignment_expression "paVar6 = paVar2 + 3" identifier = (binary_expression "paVar2 + 3" identifier + number_literal)) ;) (expression_statement "*paVar2 = local_58;" (assignment_expression "*paVar2 = local_58" (pointer_expression "*paVar2" * identifier) = identifier) ;) (expression_statement "paVar2[1].od = (Output_data *)0x0;" (assignment_expression "paVar2[1].od = (Output_data *)0x0" (field_expression "paVar2[1].od" (subscript_expression "paVar2[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17;" (assignment_expression "paVar2[2] = (anon_union_8_4_94c5dad9_for_u_)0x17" (subscript_expression "paVar2[2]" identifier [ number_literal ]) = (cast_expression "(anon_union_8_4_94c5dad9_for_u_)0x17" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_" type_identifier) ) number_literal)) ;) (ERROR "(pOVar1->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)paVar6" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar6" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;))) }))) (expression_statement "local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014;" (assignment_expression "local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014" identifier = (cast_expression "(anon_union_8_4_94c5dad9_for_u_)0xffffffff00000014" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_" type_identifier) ) number_literal)) ;) (expression_statement "local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;" (assignment_expression "local_58.val = (-(uint)!use_rel & 0xfffffff6) + 0x11" (field_expression "local_58.val" identifier . field_identifier) = (binary_expression "(-(uint)!use_rel & 0xfffffff6) + 0x11" (parenthesized_expression "(-(uint)!use_rel & 0xfffffff6)" ( (binary_expression "-(uint)!use_rel & 0xfffffff6" (unary_expression "-(uint)!use_rel" - (cast_expression "(uint)!use_rel" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!use_rel" ! identifier))) & number_literal) )) + number_literal)) ;) (if_statement "if (&(iVar10._M_current)->u_ == paVar6) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }" if (parenthesized_expression "(&(iVar10._M_current)->u_ == paVar6)" ( (binary_expression "&(iVar10._M_current)->u_ == paVar6" (pointer_expression "&(iVar10._M_current)->u_" & (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier)) == identifier) )) (compound_statement "{\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);\n      }" { (labeled_statement "std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::\n        vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58);" (binary_expression "Dynamic_entry&>\n                  (this_00,iVar10,(Dynamic_entry *)&local_58)" identifier (ERROR "&" &) > (parenthesized_expression "(this_00,iVar10,(Dynamic_entry *)&local_58)" ( (comma_expression "this_00,iVar10,(Dynamic_entry *)&local_58" identifier , (comma_expression "iVar10,(Dynamic_entry *)&local_58" identifier , (cast_expression "(Dynamic_entry *)&local_58" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)))) ))) ;))))) }) (else_clause "else {\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }" else (compound_statement "{\n        paVar6->od = (Output_data *)local_58;\n        paVar6[1].od = (Output_data *)aStack_50;\n        paVar6[2].od = (Output_data *)0xffffffff00000014;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);\n      }" { (expression_statement "paVar6->od = (Output_data *)local_58;" (assignment_expression "paVar6->od = (Output_data *)local_58" (field_expression "paVar6->od" identifier -> field_identifier) = (cast_expression "(Output_data *)local_58" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "paVar6[1].od = (Output_data *)aStack_50;" (assignment_expression "paVar6[1].od = (Output_data *)aStack_50" (field_expression "paVar6[1].od" (subscript_expression "paVar6[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Output_data *)aStack_50" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "paVar6[2].od = (Output_data *)0xffffffff00000014;" (assignment_expression "paVar6[2].od = (Output_data *)0xffffffff00000014" (field_expression "paVar6[2].od" (subscript_expression "paVar6[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Output_data *)0xffffffff00000014" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "(pOVar1->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3);" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = (pointer)(paVar6 + 3)" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)(paVar6 + 3)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(paVar6 + 3)" ( (binary_expression "paVar6 + 3" identifier + number_literal) )))) ;))) }))) })) (if_statement "if ((dyn_rel == (Output_data_reloc_generic *)0x0) ||\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0)) {\n      if ((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))) goto LAB_00215928;\n      if (dyn_rel == (Output_data_reloc_generic *)0x0) {\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }\n      else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_06;\n    }\n    else {\n      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;\n      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;\nLAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n      bVar4 = true;\n    }" if (parenthesized_expression "((dyn_rel == (Output_data_reloc_generic *)0x0) ||\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0))" ( (binary_expression "(dyn_rel == (Output_data_reloc_generic *)0x0) ||\n       ((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0)" (parenthesized_expression "(dyn_rel == (Output_data_reloc_generic *)0x0)" ( (binary_expression "dyn_rel == (Output_data_reloc_generic *)0x0" identifier == (cast_expression "(Output_data_reloc_generic *)0x0" ( (type_descriptor "Output_data_reloc_generic *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0)" ( (binary_expression "(dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_ ==\n        (Output_section *)0x0" (field_expression "(dyn_rel->super_Output_section_data_build).super_Output_section_data.output_section_" (field_expression "(dyn_rel->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(dyn_rel->super_Output_section_data_build)" ( (field_expression "dyn_rel->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      if ((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))) goto LAB_00215928;\n      if (dyn_rel == (Output_data_reloc_generic *)0x0) {\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }\n      else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_06;\n    }" { (if_statement "if ((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))) goto LAB_00215928;" if (parenthesized_expression "((plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          )))" ( (binary_expression "(plt_rel == (Output_data *)0x0) ||\n         ((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))" (parenthesized_expression "(plt_rel == (Output_data *)0x0)" ( (binary_expression "plt_rel == (Output_data *)0x0" identifier == (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          ))" ( (parenthesized_expression "(!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)\n          )" ( (binary_expression "!dynrel_includes_plt ||\n          (iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)" (unary_expression "!dynrel_includes_plt" ! identifier) || (parenthesized_expression "(iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0)" ( (comma_expression "iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel), CONCAT44(extraout_var_05,iVar5) == 0" (assignment_expression "iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel)" identifier = (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier )))) , (binary_expression "CONCAT44(extraout_var_05,iVar5) == 0" (call_expression "CONCAT44(extraout_var_05,iVar5)" identifier (argument_list "(extraout_var_05,iVar5)" ( identifier , identifier ))) == number_literal)) ))) )) ))) )) (goto_statement "goto LAB_00215928;" goto statement_identifier ;)) (if_statement "if (dyn_rel == (Output_data_reloc_generic *)0x0) {\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }\n      else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }" if (parenthesized_expression "(dyn_rel == (Output_data_reloc_generic *)0x0)" ( (binary_expression "dyn_rel == (Output_data_reloc_generic *)0x0" identifier == (cast_expression "(Output_data_reloc_generic *)0x0" ( (type_descriptor "Output_data_reloc_generic *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = false;\n      }" { (expression_statement "(*plt_rel->_vptr_Output_data[10])(plt_rel);" (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier ))) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) }) (else_clause "else {\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }" else (compound_statement "{\n        pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n        iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;\n        if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;\n      }" { (expression_statement "pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;" (assignment_expression "pOVar3 = (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_" identifier = (field_expression "(dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_" (field_expression "(dyn_rel->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(dyn_rel->super_Output_section_data_build)" ( (field_expression "dyn_rel->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);" (assignment_expression "iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel)" identifier = (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier )))) ;) (expression_statement "bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0;" (assignment_expression "bVar11 = CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0" identifier = (binary_expression "CONCAT44(extraout_var_08,iVar5) != 0 && pOVar3 != (Output_section *)0x0" (binary_expression "CONCAT44(extraout_var_08,iVar5) != 0" (call_expression "CONCAT44(extraout_var_08,iVar5)" identifier (argument_list "(extraout_var_08,iVar5)" ( identifier , identifier ))) != number_literal) && (binary_expression "pOVar3 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (if_statement "if (pOVar3 != (Output_section *)0x0) goto LAB_002156b5;" if (parenthesized_expression "(pOVar3 != (Output_section *)0x0)" ( (binary_expression "pOVar3 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002156b5;" goto statement_identifier ;)) }))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);" (assignment_expression "local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel)" (field_expression "local_58.val" identifier . field_identifier) = (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier )))) ;) (expression_statement "local_58._4_4_ = extraout_var_06;" (assignment_expression "local_58._4_4_ = extraout_var_06" (field_expression "local_58._4_4_" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;\n      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;\nLAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n      bVar4 = true;\n    }" else (compound_statement "{\n      if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;\n      iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;\nLAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;\n      bVar4 = true;\n    }" { (if_statement "if (plt_rel == (Output_data *)0x0) goto LAB_00215a14;" if (parenthesized_expression "(plt_rel == (Output_data *)0x0)" ( (binary_expression "plt_rel == (Output_data *)0x0" identifier == (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00215a14;" goto statement_identifier ;)) (expression_statement "iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel);" (assignment_expression "iVar5 = (*plt_rel->_vptr_Output_data[10])(plt_rel)" identifier = (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier )))) ;) (expression_statement "bVar11 = CONCAT44(extraout_var_03,iVar5) != 0;" (assignment_expression "bVar11 = CONCAT44(extraout_var_03,iVar5) != 0" identifier = (binary_expression "CONCAT44(extraout_var_03,iVar5) != 0" (call_expression "CONCAT44(extraout_var_03,iVar5)" identifier (argument_list "(extraout_var_03,iVar5)" ( identifier , identifier ))) != number_literal)) ;) (labeled_statement "LAB_002156b5:\n      local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;" statement_identifier : (expression_statement "local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_;" (assignment_expression "local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_" identifier = (field_expression "(anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                 output_section_" (field_expression "(anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build).super_Output_section_data" (call_expression "(anon_union_8_4_94c5dad9_for_u_)\n                 (dyn_rel->super_Output_section_data_build)" (parenthesized_expression "(anon_union_8_4_94c5dad9_for_u_)" ( identifier )) (argument_list "(dyn_rel->super_Output_section_data_build)" ( (field_expression "dyn_rel->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;)) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }))) (ERROR "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0;" (assignment_expression "aStack_50 = (anon_union_8_4_94c5dad9_for_u_)0x0" identifier = (cast_expression "(anon_union_8_4_94c5dad9_for_u_)0x0" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_" type_identifier) ) number_literal)) ;) (expression_statement "local_48._4_4_ = 0;" (assignment_expression "local_48._4_4_ = 0" (field_expression "local_48._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_48.val = (-(uint)!use_rel & 0xfffffff6) + 0x11;" (assignment_expression "local_48.val = (-(uint)!use_rel & 0xfffffff6) + 0x11" (field_expression "local_48.val" identifier . field_identifier) = (binary_expression "(-(uint)!use_rel & 0xfffffff6) + 0x11" (parenthesized_expression "(-(uint)!use_rel & 0xfffffff6)" ( (binary_expression "-(uint)!use_rel & 0xfffffff6" (unary_expression "-(uint)!use_rel" - (cast_expression "(uint)!use_rel" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!use_rel" ! identifier))) & number_literal) )) + number_literal)) ;) (if_statement "if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      (iVar10._M_current)->u_ = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" if (parenthesized_expression "(iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage)" ( (ERROR "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) == (binary_expression "(pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n        ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }" { (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" (binary_expression "Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" ( (comma_expression "&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58" (pointer_expression "&pOVar1->entries_" & (field_expression "pOVar1->entries_" identifier -> field_identifier)) , (comma_expression "iVar10,(Dynamic_entry *)&local_58" identifier , (cast_expression "(Dynamic_entry *)&local_58" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)))) ))) ;))))) }) (else_clause "else {\n      (iVar10._M_current)->u_ = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" else (compound_statement "{\n      (iVar10._M_current)->u_ = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" { (expression_statement "(iVar10._M_current)->u_ = local_58;" (assignment_expression "(iVar10._M_current)->u_ = local_58" (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar10._M_current)->od2 = (Output_data *)0x0;" (assignment_expression "(iVar10._M_current)->od2 = (Output_data *)0x0" (field_expression "(iVar10._M_current)->od2" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;" (assignment_expression "*(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48" (pointer_expression "*(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_" * (cast_expression "(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(iVar10._M_current)->tag_" & (field_expression "(iVar10._M_current)->tag_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (ERROR "(pOVar1->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar10._M_current + 1" (field_expression "iVar10._M_current" identifier . field_identifier) + number_literal)) ;))) }))) (expression_statement "iVar5 = (-(uint)!use_rel & 0xfffffff6) + 0x12;" (assignment_expression "iVar5 = (-(uint)!use_rel & 0xfffffff6) + 0x12" identifier = (binary_expression "(-(uint)!use_rel & 0xfffffff6) + 0x12" (parenthesized_expression "(-(uint)!use_rel & 0xfffffff6)" ( (binary_expression "-(uint)!use_rel & 0xfffffff6" (unary_expression "-(uint)!use_rel" - (cast_expression "(uint)!use_rel" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!use_rel" ! identifier))) & number_literal) )) + number_literal)) ;) (if_statement "if (bVar11) {\n      if (dynrel_includes_plt) {\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }\n      else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      (iVar10._M_current)->u_ = local_58;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_07;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      aStack_50.od = (Output_data *)0x0;\n      if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      (iVar10._M_current)->u_ = local_58;\n      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n      if (dynrel_includes_plt) {\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }\n      else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      (iVar10._M_current)->u_ = local_58;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }" { (if_statement "if (dynrel_includes_plt) {\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }\n      else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }" if (parenthesized_expression "(dynrel_includes_plt)" ( identifier )) (compound_statement "{\n        aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n        aStack_50._4_4_ = extraout_var_04;\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }\n      }" { (expression_statement "aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel);" (assignment_expression "aStack_50._0_4_ = (*plt_rel->_vptr_Output_data[10])(plt_rel)" (field_expression "aStack_50._0_4_" identifier . field_identifier) = (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier )))) ;) (expression_statement "aStack_50._4_4_ = extraout_var_04;" (assignment_expression "aStack_50._4_4_ = extraout_var_04" (field_expression "aStack_50._4_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;" (assignment_expression "local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_" identifier = (field_expression "(anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_" (field_expression "(anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data" (call_expression "(anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build)" (parenthesized_expression "(anon_union_8_4_94c5dad9_for_u_)" ( identifier )) (argument_list "(dyn_rel->super_Output_section_data_build)" ( (field_expression "dyn_rel->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (ERROR "iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n             super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n             super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n             ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n             ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n             ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (if_statement "if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) {\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }" if (parenthesized_expression "(&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_)" ( (binary_expression "&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_" (pointer_expression "&(iVar10._M_current)->u_" & (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier)) == (pointer_expression "&((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_" & (field_expression "((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_" (parenthesized_expression "((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)" ( (ERROR "(pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "(pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "(pOVar1->entries_).\n              super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n              super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n              ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n              ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) )) (compound_statement "{\nLAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;\n          local_48.val = iVar5;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n          goto LAB_002159be;\n        }" { (labeled_statement "LAB_00215a4c:\n          local_48._4_4_ = 0xfffffffe;" statement_identifier : (expression_statement "local_48._4_4_ = 0xfffffffe;" (assignment_expression "local_48._4_4_ = 0xfffffffe" (field_expression "local_48._4_4_" identifier . field_identifier) = number_literal) ;)) (expression_statement "local_48.val = iVar5;" (assignment_expression "local_48.val = iVar5" (field_expression "local_48.val" identifier . field_identifier) = identifier) ;) (labeled_statement "std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::\n          vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" (binary_expression "Dynamic_entry&>\n                    (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" ( (comma_expression "&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58" (pointer_expression "&pOVar1->entries_" & (field_expression "pOVar1->entries_" identifier -> field_identifier)) , (comma_expression "iVar10,(Dynamic_entry *)&local_58" identifier , (cast_expression "(Dynamic_entry *)&local_58" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)))) ))) ;))))) (goto_statement "goto LAB_002159be;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }" else (compound_statement "{\nLAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;\n        iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;\n        aStack_50.od = (Output_data *)0x0;\n        if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      }" { (labeled_statement "LAB_00215a20:\n        local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;" statement_identifier : (expression_statement "local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_;" (assignment_expression "local_58 = (anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_" identifier = (field_expression "(anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data.\n                   output_section_" (field_expression "(anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build).super_Output_section_data" (call_expression "(anon_union_8_4_94c5dad9_for_u_)\n                   (dyn_rel->super_Output_section_data_build)" (parenthesized_expression "(anon_union_8_4_94c5dad9_for_u_)" ( identifier )) (argument_list "(dyn_rel->super_Output_section_data_build)" ( (field_expression "dyn_rel->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;)) (ERROR "iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n             (pOVar1->entries_).\n             super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n             super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n             super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n             ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n             ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n             ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "aStack_50.od = (Output_data *)0x0;" (assignment_expression "aStack_50.od = (Output_data *)0x0" (field_expression "aStack_50.od" identifier . field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;" if (parenthesized_expression "(&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_)" ( (binary_expression "&(iVar10._M_current)->u_ ==\n            &((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_" (pointer_expression "&(iVar10._M_current)->u_" & (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier)) == (pointer_expression "&((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_" & (field_expression "((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)->u_" (parenthesized_expression "((pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n              ._M_impl._M_end_of_storage)" ( (ERROR "(pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "(pOVar1->entries_).\n              super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "(pOVar1->entries_).\n              super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n              super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n              ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n              ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) )) (goto_statement "goto LAB_00215a4c;" goto statement_identifier ;)) }))) (expression_statement "local_48._4_4_ = 0xfffffffe;" (assignment_expression "local_48._4_4_ = 0xfffffffe" (field_expression "local_48._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_48.val = iVar5;" (assignment_expression "local_48.val = iVar5" (field_expression "local_48.val" identifier . field_identifier) = identifier) ;) (expression_statement "(iVar10._M_current)->u_ = local_58;" (assignment_expression "(iVar10._M_current)->u_ = local_58" (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "*(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50;" (assignment_expression "*(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8) = aStack_50" (pointer_expression "*(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8)" * (cast_expression "(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8)" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)iVar10._M_current + 8)" ( (binary_expression "(long)iVar10._M_current + 8" (cast_expression "(long)iVar10._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "iVar10._M_current" identifier . field_identifier)) + number_literal) )))) = identifier) ;) (expression_statement "*(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;" (assignment_expression "*(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48" (pointer_expression "*(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10)" * (cast_expression "(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10)" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)iVar10._M_current + 0x10)" ( (binary_expression "(long)iVar10._M_current + 0x10" (cast_expression "(long)iVar10._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "iVar10._M_current" identifier . field_identifier)) + number_literal) )))) = identifier) ;) (ERROR "(pOVar1->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18)" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)((long)iVar10._M_current + 0x18)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((long)iVar10._M_current + 0x18)" ( (binary_expression "(long)iVar10._M_current + 0x18" (cast_expression "(long)iVar10._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "iVar10._M_current" identifier . field_identifier)) + number_literal) )))) ;))) }) (else_clause "else {\n      if (bVar4) goto LAB_00215a20;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_07;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      aStack_50.od = (Output_data *)0x0;\n      if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      (iVar10._M_current)->u_ = local_58;\n      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }" else (compound_statement "{\n      if (bVar4) goto LAB_00215a20;\n      local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);\n      local_58._4_4_ = extraout_var_07;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      local_48._4_4_ = 0xfffffffe;\n      local_48.val = iVar5;\n      aStack_50.od = (Output_data *)0x0;\n      if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;\n      (iVar10._M_current)->u_ = local_58;\n      ((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;\n      *(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);\n    }" { (if_statement "if (bVar4) goto LAB_00215a20;" if (parenthesized_expression "(bVar4)" ( identifier )) (goto_statement "goto LAB_00215a20;" goto statement_identifier ;)) (expression_statement "local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel);" (assignment_expression "local_58.val = (*plt_rel->_vptr_Output_data[10])(plt_rel)" (field_expression "local_58.val" identifier . field_identifier) = (call_expression "(*plt_rel->_vptr_Output_data[10])(plt_rel)" (parenthesized_expression "(*plt_rel->_vptr_Output_data[10])" ( (pointer_expression "*plt_rel->_vptr_Output_data[10]" * (subscript_expression "plt_rel->_vptr_Output_data[10]" (field_expression "plt_rel->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(plt_rel)" ( identifier )))) ;) (expression_statement "local_58._4_4_ = extraout_var_07;" (assignment_expression "local_58._4_4_ = extraout_var_07" (field_expression "local_58._4_4_" identifier . field_identifier) = identifier) ;) (ERROR "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n           super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n           super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n           ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n           ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n           ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "local_48._4_4_ = 0xfffffffe;" (assignment_expression "local_48._4_4_ = 0xfffffffe" (field_expression "local_48._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_48.val = iVar5;" (assignment_expression "local_48.val = iVar5" (field_expression "local_48.val" identifier . field_identifier) = identifier) ;) (expression_statement "aStack_50.od = (Output_data *)0x0;" (assignment_expression "aStack_50.od = (Output_data *)0x0" (field_expression "aStack_50.od" identifier . field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;" if (parenthesized_expression "(&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_)" ( (binary_expression "&(iVar10._M_current)->u_ ==\n          &((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_" (pointer_expression "&(iVar10._M_current)->u_" & (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier)) == (pointer_expression "&((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_" & (field_expression "((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)->u_" (parenthesized_expression "((pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n            ._M_impl._M_end_of_storage)" ( (ERROR "(pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "(pOVar1->entries_).\n            super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "(pOVar1->entries_).\n            super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n            super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n            ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n            ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) )) (goto_statement "goto LAB_00215a4c;" goto statement_identifier ;)) (expression_statement "(iVar10._M_current)->u_ = local_58;" (assignment_expression "(iVar10._M_current)->u_ = local_58" (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0;" (assignment_expression "((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od = (Output_data *)0x0" (field_expression "((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))->od" (parenthesized_expression "((anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8))" ( (cast_expression "(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 8)" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)iVar10._M_current + 8)" ( (binary_expression "(long)iVar10._M_current + 8" (cast_expression "(long)iVar10._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "iVar10._M_current" identifier . field_identifier)) + number_literal) ))) )) -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48;" (assignment_expression "*(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10) = local_48" (pointer_expression "*(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10)" * (cast_expression "(anon_union_8_4_94c5dad9_for_u_ *)((long)iVar10._M_current + 0x10)" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)iVar10._M_current + 0x10)" ( (binary_expression "(long)iVar10._M_current + 0x10" (cast_expression "(long)iVar10._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "iVar10._M_current" identifier . field_identifier)) + number_literal) )))) = identifier) ;) (ERROR "(pOVar1->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18);" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((long)iVar10._M_current + 0x18)" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)((long)iVar10._M_current + 0x18)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((long)iVar10._M_current + 0x18)" ( (binary_expression "(long)iVar10._M_current + 0x18" (cast_expression "(long)iVar10._M_current" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "iVar10._M_current" identifier . field_identifier)) + number_literal) )))) ;))) }))) (labeled_statement "LAB_002159be:\n    pPVar7 = parameters;" statement_identifier : (expression_statement "pPVar7 = parameters;" (assignment_expression "pPVar7 = parameters" identifier = identifier) ;)) (if_statement "if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "iVar5 = parameters->target_->pti_->size;" (assignment_expression "iVar5 = parameters->target_->pti_->size" identifier = (field_expression "parameters->target_->pti_->size" (field_expression "parameters->target_->pti_" (field_expression "parameters->target_" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) (if_statement "if (use_rel) {\n      if (iVar5 == 0x20) {\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }\n      else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }\n    }\n    else if (iVar5 == 0x20) {\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }\n    else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }" if (parenthesized_expression "(use_rel)" ( identifier )) (compound_statement "{\n      if (iVar5 == 0x20) {\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }\n      else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }\n    }" { (if_statement "if (iVar5 == 0x20) {\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }\n      else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }" if (parenthesized_expression "(iVar5 == 0x20)" ( (binary_expression "iVar5 == 0x20" identifier == number_literal) )) (compound_statement "{\n        uVar9 = 8;\n        local_48.val = 0x13;\n      }" { (expression_statement "uVar9 = 8;" (assignment_expression "uVar9 = 8" identifier = number_literal) ;) (expression_statement "local_48.val = 0x13;" (assignment_expression "local_48.val = 0x13" (field_expression "local_48.val" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }" else (compound_statement "{\n        if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }\n        uVar9 = 0x10;\n        local_48.val = 0x13;\n      }" { (if_statement "if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }" if (parenthesized_expression "(iVar5 != 0x40)" ( (binary_expression "iVar5 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");" (call_expression "do_gold_unreachable("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags")" identifier (argument_list "("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""add_target_dynamic_tags"" " string_content ") ))) ;) })) (expression_statement "uVar9 = 0x10;" (assignment_expression "uVar9 = 0x10" identifier = number_literal) ;) (expression_statement "local_48.val = 0x13;" (assignment_expression "local_48.val = 0x13" (field_expression "local_48.val" identifier . field_identifier) = number_literal) ;) }))) }) (else_clause "else if (iVar5 == 0x20) {\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }\n    else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }" else (if_statement "if (iVar5 == 0x20) {\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }\n    else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }" if (parenthesized_expression "(iVar5 == 0x20)" ( (binary_expression "iVar5 == 0x20" identifier == number_literal) )) (compound_statement "{\n      uVar9 = 0xc;\n      local_48.val = 9;\n    }" { (expression_statement "uVar9 = 0xc;" (assignment_expression "uVar9 = 0xc" identifier = number_literal) ;) (expression_statement "local_48.val = 9;" (assignment_expression "local_48.val = 9" (field_expression "local_48.val" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }" else (compound_statement "{\n      if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }\n      uVar9 = 0x18;\n      local_48.val = 9;\n    }" { (if_statement "if (iVar5 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }" if (parenthesized_expression "(iVar5 != 0x40)" ( (binary_expression "iVar5 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");" (call_expression "do_gold_unreachable("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags")" identifier (argument_list "("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""add_target_dynamic_tags"" " string_content ") ))) ;) })) (expression_statement "uVar9 = 0x18;" (assignment_expression "uVar9 = 0x18" identifier = number_literal) ;) (expression_statement "local_48.val = 9;" (assignment_expression "local_48.val = 9" (field_expression "local_48.val" identifier . field_identifier) = number_literal) ;) }))))) (ERROR "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "local_48._4_4_ = 0xffffffff;" (assignment_expression "local_48._4_4_ = 0xffffffff" (field_expression "local_48._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_58.val = uVar9;" (assignment_expression "local_58.val = uVar9" (field_expression "local_58.val" identifier . field_identifier) = identifier) ;) (if_statement "if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      pPVar7 = parameters;\n    }\n    else {\n                    /* WARNING: Store size is inaccurate */\n      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" if (parenthesized_expression "(iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage)" ( (ERROR "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) == (binary_expression "(pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n        ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      pPVar7 = parameters;\n    }" { (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" (binary_expression "Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" ( (comma_expression "&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58" (pointer_expression "&pOVar1->entries_" & (field_expression "pOVar1->entries_" identifier -> field_identifier)) , (comma_expression "iVar10,(Dynamic_entry *)&local_58" identifier , (cast_expression "(Dynamic_entry *)&local_58" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)))) ))) ;))))) (expression_statement "pPVar7 = parameters;" (assignment_expression "pPVar7 = parameters" identifier = identifier) ;) }) (else_clause "else {\n                    /* WARNING: Store size is inaccurate */\n      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" else (compound_statement "{\n                    /* WARNING: Store size is inaccurate */\n      *(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" { comment (expression_statement "*(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58;" (assignment_expression "*(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val = local_58" (pointer_expression "*(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val" * (cast_expression "(anon_union_8_4_94c5dad9_for_u_ *)&((iVar10._M_current)->u_).val" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((iVar10._M_current)->u_).val" & (field_expression "((iVar10._M_current)->u_).val" (parenthesized_expression "((iVar10._M_current)->u_)" ( (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "(iVar10._M_current)->od2 = (Output_data *)aStack_50;" (assignment_expression "(iVar10._M_current)->od2 = (Output_data *)aStack_50" (field_expression "(iVar10._M_current)->od2" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)aStack_50" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;" (assignment_expression "*(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48" (pointer_expression "*(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_" * (cast_expression "(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(iVar10._M_current)->tag_" & (field_expression "(iVar10._M_current)->tag_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (ERROR "(pOVar1->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar10._M_current + 1" (field_expression "iVar10._M_current" identifier . field_identifier) + number_literal)) ;))) }))) (expression_statement "pGVar8 = pPVar7->options_;" (assignment_expression "pGVar8 = pPVar7->options_" identifier = (field_expression "pPVar7->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar8 == (General_options *)0x0) goto LAB_00215945;" if (parenthesized_expression "(pGVar8 == (General_options *)0x0)" ( (binary_expression "pGVar8 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00215945;" goto statement_identifier ;)) (if_statement "if ((((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)\n       ) {\n      if (!add_debug) {\n        return;\n      }\n      goto LAB_00215811;\n    }" if (parenthesized_expression "((((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)\n       )" ( (binary_expression "(((pGVar8->combreloc_).value == false) || (!bVar4)) || (dyn_rel->relative_reloc_count_ == 0)" (parenthesized_expression "(((pGVar8->combreloc_).value == false) || (!bVar4))" ( (binary_expression "((pGVar8->combreloc_).value == false) || (!bVar4)" (parenthesized_expression "((pGVar8->combreloc_).value == false)" ( (binary_expression "(pGVar8->combreloc_).value == false" (field_expression "(pGVar8->combreloc_).value" (parenthesized_expression "(pGVar8->combreloc_)" ( (field_expression "pGVar8->combreloc_" identifier -> field_identifier) )) . field_identifier) == false) )) || (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) ))) )) || (parenthesized_expression "(dyn_rel->relative_reloc_count_ == 0)" ( (binary_expression "dyn_rel->relative_reloc_count_ == 0" (field_expression "dyn_rel->relative_reloc_count_" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n      if (!add_debug) {\n        return;\n      }\n      goto LAB_00215811;\n    }" { (if_statement "if (!add_debug) {\n        return;\n      }" if (parenthesized_expression "(!add_debug)" ( (unary_expression "!add_debug" ! identifier) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_00215811;" goto statement_identifier ;) })) (expression_statement "local_58.val = (int)dyn_rel->relative_reloc_count_;" (assignment_expression "local_58.val = (int)dyn_rel->relative_reloc_count_" (field_expression "local_58.val" identifier . field_identifier) = (cast_expression "(int)dyn_rel->relative_reloc_count_" ( (type_descriptor "int" primitive_type) ) (field_expression "dyn_rel->relative_reloc_count_" identifier -> field_identifier))) ;) (ERROR "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n         (pOVar1->entries_).\n         super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "local_48._4_4_ = 0xffffffff;" (assignment_expression "local_48._4_4_ = 0xffffffff" (field_expression "local_48._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_48.val = use_rel + 0x6ffffff9;" (assignment_expression "local_48.val = use_rel + 0x6ffffff9" (field_expression "local_48.val" identifier . field_identifier) = (binary_expression "use_rel + 0x6ffffff9" identifier + number_literal)) ;) (if_statement "if (iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }\n    else {\n      ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" if (parenthesized_expression "(iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage)" ( (ERROR "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar10._M_current ==\n        (pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) == (binary_expression "(pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n        ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n    }" { (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" (binary_expression "Dynamic_entry&>\n                (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" ( (comma_expression "&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58" (pointer_expression "&pOVar1->entries_" & (field_expression "pOVar1->entries_" identifier -> field_identifier)) , (comma_expression "iVar10,(Dynamic_entry *)&local_58" identifier , (cast_expression "(Dynamic_entry *)&local_58" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)))) ))) ;))))) }) (else_clause "else {\n      ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" else (compound_statement "{\n      ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n      (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n      *(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;\n      (pOVar1->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;\n    }" { (expression_statement "((iVar10._M_current)->u_).od = (Output_data *)local_58;" (assignment_expression "((iVar10._M_current)->u_).od = (Output_data *)local_58" (field_expression "((iVar10._M_current)->u_).od" (parenthesized_expression "((iVar10._M_current)->u_)" ( (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Output_data *)local_58" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(iVar10._M_current)->od2 = (Output_data *)aStack_50;" (assignment_expression "(iVar10._M_current)->od2 = (Output_data *)aStack_50" (field_expression "(iVar10._M_current)->od2" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)aStack_50" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48;" (assignment_expression "*(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_ = local_48" (pointer_expression "*(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_" * (cast_expression "(anon_union_8_4_94c5dad9_for_u_ *)&(iVar10._M_current)->tag_" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(iVar10._M_current)->tag_" & (field_expression "(iVar10._M_current)->tag_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (ERROR "(pOVar1->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar10._M_current + 1" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar10._M_current + 1" (field_expression "iVar10._M_current" identifier . field_identifier) + number_literal)) ;))) }))) }))) (labeled_statement "LAB_00215928:\n  if (!add_debug) {\n    return;\n  }" statement_identifier : (if_statement "if (!add_debug) {\n    return;\n  }" if (parenthesized_expression "(!add_debug)" ( (unary_expression "!add_debug" ! identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pGVar8 = parameters->options_;" (assignment_expression "pGVar8 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar8 != (General_options *)0x0) {\nLAB_00215811:\n    if ((pGVar8->shared_).value == false) {\n      local_58.od = local_58.od & 0xffffffff00000000;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n    }\n    return;\n  }" if (parenthesized_expression "(pGVar8 != (General_options *)0x0)" ( (binary_expression "pGVar8 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00215811:\n    if ((pGVar8->shared_).value == false) {\n      local_58.od = local_58.od & 0xffffffff00000000;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n    }\n    return;\n  }" { (labeled_statement "LAB_00215811:\n    if ((pGVar8->shared_).value == false) {\n      local_58.od = local_58.od & 0xffffffff00000000;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n    }" statement_identifier : (if_statement "if ((pGVar8->shared_).value == false) {\n      local_58.od = local_58.od & 0xffffffff00000000;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n    }" if (parenthesized_expression "((pGVar8->shared_).value == false)" ( (binary_expression "(pGVar8->shared_).value == false" (field_expression "(pGVar8->shared_).value" (parenthesized_expression "(pGVar8->shared_)" ( (field_expression "pGVar8->shared_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n      local_58.od = local_58.od & 0xffffffff00000000;\n      local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;\n      iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }\n    }" { (expression_statement "local_58.od = local_58.od & 0xffffffff00000000;" (assignment_expression "local_58.od = local_58.od & 0xffffffff00000000" (field_expression "local_58.od" identifier . field_identifier) = (binary_expression "local_58.od & 0xffffffff00000000" (field_expression "local_58.od" identifier . field_identifier) & number_literal)) ;) (expression_statement "local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015;" (assignment_expression "local_48 = (anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015" identifier = (cast_expression "(anon_union_8_4_94c5dad9_for_u_)0xffffffff00000015" ( (type_descriptor "anon_union_8_4_94c5dad9_for_u_" type_identifier) ) number_literal)) ;) (ERROR "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar10._M_current =\n           (pOVar1->entries_).\n           super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) = (binary_expression "(pOVar1->entries_).\n           super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n           super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n           ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n           ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n           ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (if_statement "if (iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }\n      else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }" if (parenthesized_expression "(iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)" ( (ERROR "iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar10._M_current ==\n          (pOVar1->entries_).\n          super__Vector_base<gold" (field_expression "iVar10._M_current" identifier . field_identifier) == (binary_expression "(pOVar1->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n          ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);\n      }" { (labeled_statement "std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::\n        vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier (ERROR "::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58);" (binary_expression "Dynamic_entry&>\n                  (&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58)" ( (comma_expression "&pOVar1->entries_,iVar10,(Dynamic_entry *)&local_58" (pointer_expression "&pOVar1->entries_" & (field_expression "pOVar1->entries_" identifier -> field_identifier)) , (comma_expression "iVar10,(Dynamic_entry *)&local_58" identifier , (cast_expression "(Dynamic_entry *)&local_58" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)))) ))) ;))))) }) (else_clause "else {\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }" else (compound_statement "{\n        ((iVar10._M_current)->u_).od = (Output_data *)local_58;\n        (iVar10._M_current)->od2 = (Output_data *)aStack_50;\n        (iVar10._M_current)->tag_ = DT_DEBUG;\n        (iVar10._M_current)->offset_ = 0xffffffff;\n        (pOVar1->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;\n      }" { (expression_statement "((iVar10._M_current)->u_).od = (Output_data *)local_58;" (assignment_expression "((iVar10._M_current)->u_).od = (Output_data *)local_58" (field_expression "((iVar10._M_current)->u_).od" (parenthesized_expression "((iVar10._M_current)->u_)" ( (field_expression "(iVar10._M_current)->u_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Output_data *)local_58" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(iVar10._M_current)->od2 = (Output_data *)aStack_50;" (assignment_expression "(iVar10._M_current)->od2 = (Output_data *)aStack_50" (field_expression "(iVar10._M_current)->od2" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)aStack_50" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(iVar10._M_current)->tag_ = DT_DEBUG;" (assignment_expression "(iVar10._M_current)->tag_ = DT_DEBUG" (field_expression "(iVar10._M_current)->tag_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar10._M_current)->offset_ = 0xffffffff;" (assignment_expression "(iVar10._M_current)->offset_ = 0xffffffff" (field_expression "(iVar10._M_current)->offset_" (parenthesized_expression "(iVar10._M_current)" ( (field_expression "iVar10._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar1->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar1->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar1->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar1->entries_)" ( (field_expression "pOVar1->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar10._M_current + 1" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar10._M_current + 1" (field_expression "iVar10._M_current" identifier . field_identifier) + number_literal)) ;))) }))) }))) (return_statement "return;" return ;) })) (labeled_statement "LAB_00215945:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })))
(translation_unit "void FUN_00215500(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  ulong *puVar3;\n  bool bVar4;\n  long lVar5;\n  undefined8 *puVar6;\n  undefined *puVar7;\n  long lVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  undefined8 *puVar12;\n  bool bVar13;\n  long *local_58;\n  ulong uStack_50;\n  undefined8 local_48;\n  \n  lVar1 = *(long *)(param_1 + 0x300);\n  if (lVar1 == 0) {\n    return;\n  }\n  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\nLAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }\n  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n  if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    \n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n}\n\n" (function_definition "void FUN_00215500(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  ulong *puVar3;\n  bool bVar4;\n  long lVar5;\n  undefined8 *puVar6;\n  undefined *puVar7;\n  long lVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  undefined8 *puVar12;\n  bool bVar13;\n  long *local_58;\n  ulong uStack_50;\n  undefined8 local_48;\n  \n  lVar1 = *(long *)(param_1 + 0x300);\n  if (lVar1 == 0) {\n    return;\n  }\n  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\nLAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }\n  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n  if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    \n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (function_declarator "FUN_00215500(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)" identifier (parameter_list "(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char param_2" primitive_type identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "long *param_4" (sized_type_specifier "long" long) (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char param_6" primitive_type identifier) , (parameter_declaration "char param_7" primitive_type identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  ulong *puVar3;\n  bool bVar4;\n  long lVar5;\n  undefined8 *puVar6;\n  undefined *puVar7;\n  long lVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  undefined8 *puVar12;\n  bool bVar13;\n  long *local_58;\n  ulong uStack_50;\n  undefined8 local_48;\n  \n  lVar1 = *(long *)(param_1 + 0x300);\n  if (lVar1 == 0) {\n    return;\n  }\n  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\nLAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }\n  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n  if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    \n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "ulong *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "long *local_58;" (sized_type_specifier "long" long) (pointer_declarator "*local_58" * identifier) ;) (declaration "ulong uStack_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (expression_statement "lVar1 = *(long *)(param_1 + 0x300);" (assignment_expression "lVar1 = *(long *)(param_1 + 0x300)" identifier = (pointer_expression "*(long *)(param_1 + 0x300)" * (cast_expression "(long *)(param_1 + 0x300)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x300)" ( (binary_expression "param_1 + 0x300" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 == 0) {\n    return;\n  }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" if (parenthesized_expression "((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0))" ( (binary_expression "(param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)" (parenthesized_expression "(param_3 != (long *)0x0)" ( (binary_expression "param_3 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)" ( (comma_expression "lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0" (assignment_expression "lVar5 = (**(code **)(*param_3 + 0x50))(param_3)" identifier = (call_expression "(**(code **)(*param_3 + 0x50))(param_3)" (parenthesized_expression "(**(code **)(*param_3 + 0x50))" ( (pointer_expression "**(code **)(*param_3 + 0x50)" * (pointer_expression "*(code **)(*param_3 + 0x50)" * (cast_expression "(code **)(*param_3 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x50)" ( (binary_expression "*param_3 + 0x50" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_3)" ( identifier )))) , (binary_expression "lVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" { (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (expression_statement "*puVar12 = param_3;" (assignment_expression "*puVar12 = param_3" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = 3;" (assignment_expression "puVar12[2] = 3" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) })) (if_statement "if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" if (parenthesized_expression "(param_4 == (long *)0x0)" ( (binary_expression "param_4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }" { (if_statement "if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }" if (parenthesized_expression "((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0))" ( (binary_expression "(param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)" (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(long *)(param_5 + 0x28) != 0)" ( (binary_expression "*(long *)(param_5 + 0x28) != 0" (pointer_expression "*(long *)(param_5 + 0x28)" * (cast_expression "(long *)(param_5 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }" { (labeled_statement "LAB_00215a14:\n      bVar13 = false;" statement_identifier : (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;)) (goto_statement "goto LAB_002156b5;" goto statement_identifier ;) })) }) (else_clause "else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" else (compound_statement "{\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" { (expression_statement "lVar5 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (if_statement "if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }" { (expression_statement "lVar5 = lVar1 + 0x38;" (assignment_expression "lVar5 = lVar1 + 0x38" identifier = (binary_expression "lVar1 + 0x38" identifier + number_literal)) ;) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" identifier = (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0xfffffffe00000002;" (assignment_expression "local_48 = 0xfffffffe00000002" identifier = number_literal) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }" { (expression_statement "FUN_001bc0a0(lVar5,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar5,puVar12,&local_58)" identifier (argument_list "(lVar5,puVar12,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }" else (compound_statement "{\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }" { (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = 0xfffffffe00000002;" (assignment_expression "puVar12[2] = 0xfffffffe00000002" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" identifier = (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "local_48 = 0x17;" (assignment_expression "local_48 = 0x17" identifier = number_literal) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x48);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x48)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "puVar2 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar2 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (if_statement "if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }" if (parenthesized_expression "(puVar2 == puVar12)" ( (binary_expression "puVar2 == puVar12" identifier == identifier) )) (compound_statement "{\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }" { (expression_statement "FUN_001bc0a0(lVar5,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar5,puVar12,&local_58)" identifier (argument_list "(lVar5,puVar12,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar6 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar6 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x48);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x48)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }" else (compound_statement "{\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }" { (expression_statement "puVar6 = puVar2 + 3;" (assignment_expression "puVar6 = puVar2 + 3" identifier = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) (expression_statement "*puVar2 = local_58;" (assignment_expression "*puVar2 = local_58" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = 0;" (assignment_expression "puVar2[1] = 0" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[2] = 0x17;" (assignment_expression "puVar2[2] = 0x17" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar6;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar6" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_48 = 0xffffffff00000014;" (assignment_expression "local_48 = 0xffffffff00000014" identifier = number_literal) ;) (expression_statement "local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);" (assignment_expression "local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" identifier = (cast_expression "(long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" identifier (argument_list "(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" ( (field_expression "local_58._4_4_" identifier . field_identifier) , (binary_expression "(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11" (parenthesized_expression "(-(uint)(param_2 == '\0') & 0xfffffff6)" ( (binary_expression "-(uint)(param_2 == '\0') & 0xfffffff6" (unary_expression "-(uint)(param_2 == '\0')" - (call_expression "(uint)(param_2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal) ))))) ;) (if_statement "if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }" if (parenthesized_expression "(puVar12 == puVar6)" ( (binary_expression "puVar12 == puVar6" identifier == identifier) )) (compound_statement "{\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }" { (expression_statement "FUN_001bc0a0(lVar5,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar5,puVar12,&local_58)" identifier (argument_list "(lVar5,puVar12,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }" else (compound_statement "{\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }" { (expression_statement "*puVar6 = local_58;" (assignment_expression "*puVar6 = local_58" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "puVar6[1] = uStack_50;" (assignment_expression "puVar6[1] = uStack_50" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[2] = 0xffffffff00000014;" (assignment_expression "puVar6[2] = 0xffffffff00000014" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar6 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar6 + 3" identifier + number_literal)) ;) }))) })) (if_statement "if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }" if (parenthesized_expression "((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0))" ( (binary_expression "(param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)" (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(long *)(param_5 + 0x28) == 0)" ( (binary_expression "*(long *)(param_5 + 0x28) == 0" (pointer_expression "*(long *)(param_5 + 0x28)" * (cast_expression "(long *)(param_5 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }" { (if_statement "if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;" if (parenthesized_expression "((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))" ( (binary_expression "(param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)))" (parenthesized_expression "(param_4 == (long *)0x0)" ( (binary_expression "param_4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)))" ( (parenthesized_expression "(param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))" ( (binary_expression "param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)" (binary_expression "param_7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)" ( (comma_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0" (assignment_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) , (binary_expression "lVar5 == 0" identifier == number_literal)) ))) )) ))) )) (goto_statement "goto LAB_00215928;" goto statement_identifier ;)) (if_statement "if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }" { (expression_statement "(**(code **)(*param_4 + 0x50))(param_4);" (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) }) (else_clause "else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }" else (compound_statement "{\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }" { (expression_statement "lVar5 = *(long *)(param_5 + 0x28);" (assignment_expression "lVar5 = *(long *)(param_5 + 0x28)" identifier = (pointer_expression "*(long *)(param_5 + 0x28)" * (cast_expression "(long *)(param_5 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar8 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "lVar8 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "bVar13 = lVar8 != 0 && lVar5 != 0;" (assignment_expression "bVar13 = lVar8 != 0 && lVar5 != 0" identifier = (binary_expression "lVar8 != 0 && lVar5 != 0" (binary_expression "lVar8 != 0" identifier != number_literal) && (binary_expression "lVar5 != 0" identifier != number_literal))) ;) (if_statement "if (lVar5 != 0) goto LAB_002156b5;" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002156b5;" goto statement_identifier ;)) }))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" identifier = (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))))) ;) }) (else_clause "else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }" else (compound_statement "{\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }" { (if_statement "if (param_4 == (long *)0x0) goto LAB_00215a14;" if (parenthesized_expression "(param_4 == (long *)0x0)" ( (binary_expression "param_4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00215a14;" goto statement_identifier ;)) (expression_statement "lVar5 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "bVar13 = lVar5 != 0;" (assignment_expression "bVar13 = lVar5 != 0" identifier = (binary_expression "lVar5 != 0" identifier != number_literal)) ;) (labeled_statement "LAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);" statement_identifier : (expression_statement "local_58 = *(long **)(param_5 + 0x28);" (assignment_expression "local_58 = *(long **)(param_5 + 0x28)" identifier = (pointer_expression "*(long **)(param_5 + 0x28)" * (cast_expression "(long **)(param_5 + 0x28)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) ))))) ;)) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }))) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);" (assignment_expression "local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" identifier = (call_expression "(ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" ( (binary_expression "(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11" (parenthesized_expression "(-(uint)(param_2 == '\0') & 0xfffffff6)" ( (binary_expression "-(uint)(param_2 == '\0') & 0xfffffff6" (unary_expression "-(uint)(param_2 == '\0')" - (call_expression "(uint)(param_2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal) )))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) (expression_statement "iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;" (assignment_expression "iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12" identifier = (binary_expression "(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12" (parenthesized_expression "(-(uint)(param_2 == '\0') & 0xfffffff6)" ( (binary_expression "-(uint)(param_2 == '\0') & 0xfffffff6" (unary_expression "-(uint)(param_2 == '\0')" - (call_expression "(uint)(param_2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal)) ;) (if_statement "if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (if_statement "if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }" if (parenthesized_expression "(param_7 == '\0')" ( (binary_expression "param_7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }" { (labeled_statement "LAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);" statement_identifier : (expression_statement "local_58 = *(long **)(param_5 + 0x28);" (assignment_expression "local_58 = *(long **)(param_5 + 0x28)" identifier = (pointer_expression "*(long **)(param_5 + 0x28)" * (cast_expression "(long **)(param_5 + 0x28)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) ))))) ;)) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00215a4c;" goto statement_identifier ;)) }) (else_clause "else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }" else (compound_statement "{\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }" { (expression_statement "uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "uStack_50 = (**(code **)(*param_4 + 0x50))(param_4)" identifier = (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "local_58 = *(long **)(param_5 + 0x28);" (assignment_expression "local_58 = *(long **)(param_5 + 0x28)" identifier = (pointer_expression "*(long **)(param_5 + 0x28)" * (cast_expression "(long **)(param_5 + 0x28)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x28)" ( (binary_expression "param_5 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }" { (labeled_statement "LAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);" statement_identifier : (expression_statement "local_48 = CONCAT44(0xfffffffe,iVar10);" (assignment_expression "local_48 = CONCAT44(0xfffffffe,iVar10)" identifier = (call_expression "CONCAT44(0xfffffffe,iVar10)" identifier (argument_list "(0xfffffffe,iVar10)" ( number_literal , identifier )))) ;)) (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (goto_statement "goto LAB_002159be;" goto statement_identifier ;) })) }))) (expression_statement "local_48 = CONCAT44(0xfffffffe,iVar10);" (assignment_expression "local_48 = CONCAT44(0xfffffffe,iVar10)" identifier = (call_expression "CONCAT44(0xfffffffe,iVar10)" identifier (argument_list "(0xfffffffe,iVar10)" ( number_literal , identifier )))) ;) (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = uStack_50;" (assignment_expression "puVar12[1] = uStack_50" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (if_statement "if (bVar4) goto LAB_00215a20;" if (parenthesized_expression "(bVar4)" ( identifier )) (goto_statement "goto LAB_00215a20;" goto statement_identifier ;)) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" identifier = (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" ( (pointer_expression "**(code **)(*param_4 + 0x50)" * (pointer_expression "*(code **)(*param_4 + 0x50)" * (cast_expression "(code **)(*param_4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x50)" ( (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_48 = CONCAT44(0xfffffffe,iVar10);" (assignment_expression "local_48 = CONCAT44(0xfffffffe,iVar10)" identifier = (call_expression "CONCAT44(0xfffffffe,iVar10)" identifier (argument_list "(0xfffffffe,iVar10)" ( number_literal , identifier )))) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00215a4c;" goto statement_identifier ;)) (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) (labeled_statement "LAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;" statement_identifier : (expression_statement "puVar7 = PTR_DAT_004ba7c8;" (assignment_expression "puVar7 = PTR_DAT_004ba7c8" identifier = identifier) ;)) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x18)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }" { (expression_statement "FUN_001e9890("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);" (assignment_expression "iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" identifier = (pointer_expression "**(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" * (pointer_expression "*(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" * (cast_expression "(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x18)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x18" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" if (parenthesized_expression "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }" { (if_statement "if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }" if (parenthesized_expression "(iVar10 == 0x20)" ( (binary_expression "iVar10 == 0x20" identifier == number_literal) )) (compound_statement "{\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }" { (expression_statement "uVar11 = 0xc;" (assignment_expression "uVar11 = 0xc" identifier = number_literal) ;) (expression_statement "uVar9 = 9;" (assignment_expression "uVar9 = 9" identifier = number_literal) ;) }) (else_clause "else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }" else (compound_statement "{\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }" { (if_statement "if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }" if (parenthesized_expression "(iVar10 != 0x40)" ( (binary_expression "iVar10 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }" { (expression_statement "FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");" (call_expression "FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags")" identifier (argument_list "("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""add_target_dynamic_tags"" " string_content ") ))) ;) })) (expression_statement "uVar11 = 0x18;" (assignment_expression "uVar11 = 0x18" identifier = number_literal) ;) (expression_statement "uVar9 = 9;" (assignment_expression "uVar9 = 9" identifier = number_literal) ;) }))) }) (else_clause "else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" else (if_statement "if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" if (parenthesized_expression "(iVar10 == 0x20)" ( (binary_expression "iVar10 == 0x20" identifier == number_literal) )) (compound_statement "{\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }" { (expression_statement "uVar11 = 8;" (assignment_expression "uVar11 = 8" identifier = number_literal) ;) (expression_statement "uVar9 = 0x13;" (assignment_expression "uVar9 = 0x13" identifier = number_literal) ;) }) (else_clause "else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" else (compound_statement "{\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" { (if_statement "if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }" if (parenthesized_expression "(iVar10 != 0x40)" ( (binary_expression "iVar10 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }" { (expression_statement "FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");" (call_expression "FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags")" identifier (argument_list "("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""add_target_dynamic_tags"" " string_content ") ))) ;) })) (expression_statement "uVar11 = 0x10;" (assignment_expression "uVar11 = 0x10" identifier = number_literal) ;) (expression_statement "uVar9 = 0x13;" (assignment_expression "uVar9 = 0x13" identifier = number_literal) ;) }))))) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_48 = CONCAT44(0xffffffff,uVar9);" (assignment_expression "local_48 = CONCAT44(0xffffffff,uVar9)" identifier = (call_expression "CONCAT44(0xffffffff,uVar9)" identifier (argument_list "(0xffffffff,uVar9)" ( number_literal , identifier )))) ;) (expression_statement "local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);" (assignment_expression "local_58 = (long *)CONCAT44(local_58._4_4_,uVar11)" identifier = (cast_expression "(long *)CONCAT44(local_58._4_4_,uVar11)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(local_58._4_4_,uVar11)" identifier (argument_list "(local_58._4_4_,uVar11)" ( (field_expression "local_58._4_4_" identifier . field_identifier) , identifier ))))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar7 = PTR_DAT_004ba7c8;" (assignment_expression "puVar7 = PTR_DAT_004ba7c8" identifier = identifier) ;) }) (else_clause "else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = uStack_50;" (assignment_expression "puVar12[1] = uStack_50" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) (expression_statement "lVar5 = *(long *)(puVar7 + 0x10);" (assignment_expression "lVar5 = *(long *)(puVar7 + 0x10)" identifier = (pointer_expression "*(long *)(puVar7 + 0x10)" * (cast_expression "(long *)(puVar7 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x10)" ( (binary_expression "puVar7 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar5 == 0) goto LAB_00215945;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00215945;" goto statement_identifier ;)) (if_statement "if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }" if (parenthesized_expression "(((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0))" ( (binary_expression "((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)" (parenthesized_expression "((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4))" ( (binary_expression "(*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)" (parenthesized_expression "(*(char *)(lVar5 + 0x7e39) == '\0')" ( (binary_expression "*(char *)(lVar5 + 0x7e39) == '\0'" (pointer_expression "*(char *)(lVar5 + 0x7e39)" * (cast_expression "(char *)(lVar5 + 0x7e39)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x7e39)" ( (binary_expression "lVar5 + 0x7e39" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) ))) )) || (parenthesized_expression "(*(long *)(param_5 + 0x38) == 0)" ( (binary_expression "*(long *)(param_5 + 0x38) == 0" (pointer_expression "*(long *)(param_5 + 0x38)" * (cast_expression "(long *)(param_5 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x38)" ( (binary_expression "param_5 + 0x38" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }" { (if_statement "if (param_6 == '\0') {\n        return;\n      }" if (parenthesized_expression "(param_6 == '\0')" ( (binary_expression "param_6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_00215811;" goto statement_identifier ;) })) (expression_statement "local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));" (assignment_expression "local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" identifier = (cast_expression "(long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" identifier (argument_list "(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" ( (field_expression "local_58._4_4_" identifier . field_identifier) , (cast_expression "(int)*(long *)(param_5 + 0x38)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(long *)(param_5 + 0x38)" * (cast_expression "(long *)(param_5 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x38)" ( (binary_expression "param_5 + 0x38" identifier + number_literal) ))))) ))))) ;) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);" (assignment_expression "local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9)" identifier = (call_expression "CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9)" identifier (argument_list "(0xffffffff,(param_2 != '\0') + 0x6ffffff9)" ( number_literal , (binary_expression "(param_2 != '\0') + 0x6ffffff9" (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) + number_literal) )))) ;) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" if (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" ( (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" * (cast_expression "(undefined8 **)(lVar1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar12,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" else (compound_statement "{\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" { (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = uStack_50;" (assignment_expression "puVar12[1] = uStack_50" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" * (cast_expression "(undefined8 **)(lVar1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar12 + 3" identifier + number_literal)) ;) }))) }))) (labeled_statement "LAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }" statement_identifier : (if_statement "if (param_6 == '\0') {\n    return;\n  }" if (parenthesized_expression "(param_6 == '\0')" ( (binary_expression "param_6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }" { (labeled_statement "LAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }" statement_identifier : (if_statement "if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }" if (parenthesized_expression "(*(char *)(lVar5 + 0x2a61) == '\0')" ( (binary_expression "*(char *)(lVar5 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar5 + 0x2a61)" * (cast_expression "(char *)(lVar5 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x2a61)" ( (binary_expression "lVar5 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }" { (expression_statement "local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);" (assignment_expression "local_58 = (long *)((ulong)local_58 & 0xffffffff00000000)" identifier = (cast_expression "(long *)((ulong)local_58 & 0xffffffff00000000)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_58 & 0xffffffff00000000)" ( (binary_expression "(ulong)local_58 & 0xffffffff00000000" (cast_expression "(ulong)local_58" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_48 = 0xffffffff00000015;" (assignment_expression "local_48 = 0xffffffff00000015" identifier = number_literal) ;) (expression_statement "puVar3 = *(ulong **)(lVar1 + 0x40);" (assignment_expression "puVar3 = *(ulong **)(lVar1 + 0x40)" identifier = (pointer_expression "*(ulong **)(lVar1 + 0x40)" * (cast_expression "(ulong **)(lVar1 + 0x40)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }" if (parenthesized_expression "(puVar3 == *(ulong **)(lVar1 + 0x48))" ( (binary_expression "puVar3 == *(ulong **)(lVar1 + 0x48)" identifier == (pointer_expression "*(ulong **)(lVar1 + 0x48)" * (cast_expression "(ulong **)(lVar1 + 0x48)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x48)" ( (binary_expression "lVar1 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }" { (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58)" identifier (argument_list "(lVar1 + 0x38,puVar3,&local_58)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }" else (compound_statement "{\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }" { (expression_statement "*puVar3 = (ulong)local_58;" (assignment_expression "*puVar3 = (ulong)local_58" (pointer_expression "*puVar3" * identifier) = (cast_expression "(ulong)local_58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar3[1] = uStack_50;" (assignment_expression "puVar3[1] = uStack_50" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = 0xffffffff00000015;" (assignment_expression "puVar3[2] = 0xffffffff00000015" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(ulong **)(lVar1 + 0x40) = puVar3 + 3;" (assignment_expression "*(ulong **)(lVar1 + 0x40) = puVar3 + 3" (pointer_expression "*(ulong **)(lVar1 + 0x40)" * (cast_expression "(ulong **)(lVar1 + 0x40)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x40)" ( (binary_expression "lVar1 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar3 + 3" identifier + number_literal)) ;) }))) }))) (return_statement "return;" return ;) })) (labeled_statement "LAB_00215945:\n                    \n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression 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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )))) & LIT) )) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (char_literal ' escape_sequence ')) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (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 (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != LIT) && (binary_expression IDENT != LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )))) & LIT) )) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )))) & LIT) )) + LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (unary_expression ! IDENT) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) }))) (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })))
(function_definition "void FUN_00215500(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  ulong *puVar3;\n  bool bVar4;\n  long lVar5;\n  undefined8 *puVar6;\n  undefined *puVar7;\n  long lVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  undefined8 *puVar12;\n  bool bVar13;\n  long *local_58;\n  ulong uStack_50;\n  undefined8 local_48;\n  \n  lVar1 = *(long *)(param_1 + 0x300);\n  if (lVar1 == 0) {\n    return;\n  }\n  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\nLAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }\n  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n  if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    \n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n}" (primitive_type "void") (function_declarator "FUN_00215500(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)" (identifier "FUN_00215500") (parameter_list "(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,\n                 char param_7)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "char param_2" (primitive_type "char") (identifier "param_2")) (, ",") (parameter_declaration "long *param_3" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "long *param_4" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "long param_5" (sized_type_specifier "long" (long "long")) (identifier "param_5")) (, ",") (parameter_declaration "char param_6" (primitive_type "char") (identifier "param_6")) (, ",") (parameter_declaration "char param_7" (primitive_type "char") (identifier "param_7")) () ")"))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  ulong *puVar3;\n  bool bVar4;\n  long lVar5;\n  undefined8 *puVar6;\n  undefined *puVar7;\n  long lVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  undefined8 *puVar12;\n  bool bVar13;\n  long *local_58;\n  ulong uStack_50;\n  undefined8 local_48;\n  \n  lVar1 = *(long *)(param_1 + 0x300);\n  if (lVar1 == 0) {\n    return;\n  }\n  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }\nLAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }\n  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n  if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }\nLAB_00215945:\n                    \n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "undefined8 *puVar2;" (type_identifier "undefined8") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "ulong *puVar3;" (type_identifier "ulong") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "undefined8 *puVar6;" (type_identifier "undefined8") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "long lVar8;" (sized_type_specifier "long" (long "long")) (identifier "lVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined8 *puVar12;" (type_identifier "undefined8") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "bool bVar13;" (primitive_type "bool") (identifier "bVar13") (; ";")) (declaration "long *local_58;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "ulong uStack_50;" (type_identifier "ulong") (identifier "uStack_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (expression_statement "lVar1 = *(long *)(param_1 + 0x300);" (assignment_expression "lVar1 = *(long *)(param_1 + 0x300)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(param_1 + 0x300)" (* "*") (cast_expression "(long *)(param_1 + 0x300)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x300)" (( "(") (binary_expression "param_1 + 0x300" (identifier "param_1") (+ "+") (number_literal "0x300")) () ")"))))) (; ";")) (if_statement "if (lVar1 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(lVar1 == 0)" (( "(") (binary_expression "lVar1 == 0" (identifier "lVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" (if "if") (parenthesized_expression "((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0))" (( "(") (binary_expression "(param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)" (parenthesized_expression "(param_3 != (long *)0x0)" (( "(") (binary_expression "param_3 != (long *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)" (( "(") (comma_expression "lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0" (assignment_expression "lVar5 = (**(code **)(*param_3 + 0x50))(param_3)" (identifier "lVar5") (= "=") (call_expression "(**(code **)(*param_3 + 0x50))(param_3)" (parenthesized_expression "(**(code **)(*param_3 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_3 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_3 + 0x50)" (* "*") (cast_expression "(code **)(*param_3 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0x50)" (( "(") (binary_expression "*param_3 + 0x50" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (, ",") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    local_48 = 3;\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_58 = param_3;\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" ({ "{") (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" (identifier "local_48") (= "=") (number_literal "3")) (; ";")) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" (identifier "uStack_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" (identifier "local_58") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (if "if") (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" (( "(") (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (== "==") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }" ({ "{") (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" (identifier "FUN_001bc0a0") (argument_list "(lVar1 + 0x38,puVar12,&local_58)" (( "(") (binary_expression "lVar1 + 0x38" (identifier "lVar1") (+ "+") (number_literal "0x38")) (, ",") (identifier "puVar12") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (else "else") (compound_statement "{\n      *puVar12 = param_3;\n      puVar12[1] = 0;\n      puVar12[2] = 3;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" ({ "{") (expression_statement "*puVar12 = param_3;" (assignment_expression "*puVar12 = param_3" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[2] = 3;" (assignment_expression "puVar12[2] = 3" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar12 + 3" (identifier "puVar12") (+ "+") (number_literal "3"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (param_4 == (long *)0x0) {\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }\n  else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" (if "if") (parenthesized_expression "(param_4 == (long *)0x0)" (( "(") (binary_expression "param_4 == (long *)0x0" (identifier "param_4") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }\n  }" ({ "{") (if_statement "if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }" (if "if") (parenthesized_expression "((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0))" (( "(") (binary_expression "(param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)" (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(long *)(param_5 + 0x28) != 0)" (( "(") (binary_expression "*(long *)(param_5 + 0x28) != 0" (pointer_expression "*(long *)(param_5 + 0x28)" (* "*") (cast_expression "(long *)(param_5 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x28)" (( "(") (binary_expression "param_5 + 0x28" (identifier "param_5") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_00215a14:\n      bVar13 = false;\n      goto LAB_002156b5;\n    }" ({ "{") (labeled_statement "LAB_00215a14:\n      bVar13 = false;" (statement_identifier "LAB_00215a14") (: ":") (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";"))) (goto_statement "goto LAB_002156b5;" (goto "goto") (statement_identifier "LAB_002156b5") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" (else "else") (compound_statement "{\n    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n    if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }\n    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    uStack_50 = 0;\n    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;\n    if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\nLAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;\n    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }\n    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);\n    if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,uVar9);\n    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    lVar5 = *(long *)(puVar7 + 0x10);\n    if (lVar5 == 0) goto LAB_00215945;\n    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }\n    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));\n    puVar12 = *(undefined8 **)(lVar1 + 0x40);\n    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);\n    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n  }" ({ "{") (expression_statement "lVar5 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4)" (identifier "lVar5") (= "=") (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (if_statement "if (lVar5 != 0) {\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar5 = lVar1 + 0x38;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      uStack_50 = 0;\n      local_48 = 0xfffffffe00000002;\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      local_48 = 0x17;\n      puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      puVar2 = *(undefined8 **)(lVar1 + 0x40);\n      uStack_50 = 0;\n      if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }\n      local_48 = 0xffffffff00000014;\n      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);\n      if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }\n    }" ({ "{") (expression_statement "lVar5 = lVar1 + 0x38;" (assignment_expression "lVar5 = lVar1 + 0x38" (identifier "lVar5") (= "=") (binary_expression "lVar1 + 0x38" (identifier "lVar1") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" (identifier "local_58") (= "=") (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" (identifier "uStack_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = 0xfffffffe00000002;" (assignment_expression "local_48 = 0xfffffffe00000002" (identifier "local_48") (= "=") (number_literal "0xfffffffe00000002")) (; ";")) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }" (if "if") (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" (( "(") (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (== "==") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (compound_statement "{\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }" ({ "{") (expression_statement "FUN_001bc0a0(lVar5,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar5,puVar12,&local_58)" (identifier "FUN_001bc0a0") (argument_list "(lVar5,puVar12,&local_58)" (( "(") (identifier "lVar5") (, ",") (identifier "puVar12") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }" (else "else") (compound_statement "{\n        *puVar12 = local_58;\n        puVar12[1] = 0;\n        puVar12[2] = 0xfffffffe00000002;\n        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n      }" ({ "{") (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[2] = 0xfffffffe00000002;" (assignment_expression "puVar12[2] = 0xfffffffe00000002" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xfffffffe00000002")) (; ";")) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar12 + 3" (identifier "puVar12") (+ "+") (number_literal "3"))) (; ";")) (} "}")))) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" (identifier "local_58") (= "=") (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "local_48 = 0x17;" (assignment_expression "local_48 = 0x17" (identifier "local_48") (= "=") (number_literal "0x17")) (; ";")) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x48);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "puVar2 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar2 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" (identifier "uStack_50") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar2 == puVar12) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }\n      else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }" (if "if") (parenthesized_expression "(puVar2 == puVar12)" (( "(") (binary_expression "puVar2 == puVar12" (identifier "puVar2") (== "==") (identifier "puVar12")) () ")")) (compound_statement "{\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n        puVar6 = *(undefined8 **)(lVar1 + 0x40);\n        puVar12 = *(undefined8 **)(lVar1 + 0x48);\n      }" ({ "{") (expression_statement "FUN_001bc0a0(lVar5,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar5,puVar12,&local_58)" (identifier "FUN_001bc0a0") (argument_list "(lVar5,puVar12,&local_58)" (( "(") (identifier "lVar5") (, ",") (identifier "puVar12") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "puVar6 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar6 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x48);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }" (else "else") (compound_statement "{\n        puVar6 = puVar2 + 3;\n        *puVar2 = local_58;\n        puVar2[1] = 0;\n        puVar2[2] = 0x17;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6;\n      }" ({ "{") (expression_statement "puVar6 = puVar2 + 3;" (assignment_expression "puVar6 = puVar2 + 3" (identifier "puVar6") (= "=") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*puVar2 = local_58;" (assignment_expression "*puVar2 = local_58" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar2[1] = 0;" (assignment_expression "puVar2[1] = 0" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[2] = 0x17;" (assignment_expression "puVar2[2] = 0x17" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x17")) (; ";")) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar6;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar6" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "puVar6")) (; ";")) (} "}")))) (expression_statement "local_48 = 0xffffffff00000014;" (assignment_expression "local_48 = 0xffffffff00000014" (identifier "local_48") (= "=") (number_literal "0xffffffff00000014")) (; ";")) (expression_statement "local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);" (assignment_expression "local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" (identifier "local_58") (= "=") (cast_expression "(long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" (identifier "CONCAT44") (argument_list "(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" (( "(") (field_expression "local_58._4_4_" (identifier "local_58") (. ".") (field_identifier "_4_4_")) (, ",") (binary_expression "(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11" (parenthesized_expression "(-(uint)(param_2 == '\0') & 0xfffffff6)" (( "(") (binary_expression "-(uint)(param_2 == '\0') & 0xfffffff6" (unary_expression "-(uint)(param_2 == '\0')" (- "-") (call_expression "(uint)(param_2 == '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 == '\0')" (( "(") (binary_expression "param_2 == '\0'" (identifier "param_2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) (& "&") (number_literal "0xfffffff6")) () ")")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (if_statement "if (puVar12 == puVar6) {\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }\n      else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }" (if "if") (parenthesized_expression "(puVar12 == puVar6)" (( "(") (binary_expression "puVar12 == puVar6" (identifier "puVar12") (== "==") (identifier "puVar6")) () ")")) (compound_statement "{\n        FUN_001bc0a0(lVar5,puVar12,&local_58);\n      }" ({ "{") (expression_statement "FUN_001bc0a0(lVar5,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar5,puVar12,&local_58)" (identifier "FUN_001bc0a0") (argument_list "(lVar5,puVar12,&local_58)" (( "(") (identifier "lVar5") (, ",") (identifier "puVar12") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }" (else "else") (compound_statement "{\n        *puVar6 = local_58;\n        puVar6[1] = uStack_50;\n        puVar6[2] = 0xffffffff00000014;\n        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;\n      }" ({ "{") (expression_statement "*puVar6 = local_58;" (assignment_expression "*puVar6 = local_58" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar6[1] = uStack_50;" (assignment_expression "puVar6[1] = uStack_50" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uStack_50")) (; ";")) (expression_statement "puVar6[2] = 0xffffffff00000014;" (assignment_expression "puVar6[2] = 0xffffffff00000014" (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xffffffff00000014")) (; ";")) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar6 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar6 + 3" (identifier "puVar6") (+ "+") (number_literal "3"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }\n    else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }" (if "if") (parenthesized_expression "((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0))" (( "(") (binary_expression "(param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)" (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(long *)(param_5 + 0x28) == 0)" (( "(") (binary_expression "*(long *)(param_5 + 0x28) == 0" (pointer_expression "*(long *)(param_5 + 0x28)" (* "*") (cast_expression "(long *)(param_5 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x28)" (( "(") (binary_expression "param_5 + 0x28" (identifier "param_5") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;\n      if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }\n      bVar4 = false;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n    }" ({ "{") (if_statement "if ((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))\n      goto LAB_00215928;" (if "if") (parenthesized_expression "((param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))" (( "(") (binary_expression "(param_4 == (long *)0x0) ||\n         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)))" (parenthesized_expression "(param_4 == (long *)0x0)" (( "(") (binary_expression "param_4 == (long *)0x0" (identifier "param_4") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)))" (( "(") (parenthesized_expression "(param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))" (( "(") (binary_expression "param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)" (binary_expression "param_7 == '\0'" (identifier "param_7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "(lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0)" (( "(") (comma_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0" (assignment_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4)" (identifier "lVar5") (= "=") (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (, ",") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00215928;" (goto "goto") (statement_identifier "LAB_00215928") (; ";"))) (if_statement "if (param_5 == 0) {\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }\n      else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = false;\n      }" ({ "{") (expression_statement "(**(code **)(*param_4 + 0x50))(param_4);" (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")"))) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }" (else "else") (compound_statement "{\n        lVar5 = *(long *)(param_5 + 0x28);\n        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);\n        bVar13 = lVar8 != 0 && lVar5 != 0;\n        if (lVar5 != 0) goto LAB_002156b5;\n      }" ({ "{") (expression_statement "lVar5 = *(long *)(param_5 + 0x28);" (assignment_expression "lVar5 = *(long *)(param_5 + 0x28)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(param_5 + 0x28)" (* "*") (cast_expression "(long *)(param_5 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x28)" (( "(") (binary_expression "param_5 + 0x28" (identifier "param_5") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "lVar8 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "lVar8 = (**(code **)(*param_4 + 0x50))(param_4)" (identifier "lVar8") (= "=") (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "bVar13 = lVar8 != 0 && lVar5 != 0;" (assignment_expression "bVar13 = lVar8 != 0 && lVar5 != 0" (identifier "bVar13") (= "=") (binary_expression "lVar8 != 0 && lVar5 != 0" (binary_expression "lVar8 != 0" (identifier "lVar8") (!= "!=") (number_literal "0")) (&& "&&") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")))) (; ";")) (if_statement "if (lVar5 != 0) goto LAB_002156b5;" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002156b5;" (goto "goto") (statement_identifier "LAB_002156b5") (; ";"))) (} "}")))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" (identifier "local_58") (= "=") (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }" (else "else") (compound_statement "{\n      if (param_4 == (long *)0x0) goto LAB_00215a14;\n      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);\n      bVar13 = lVar5 != 0;\nLAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);\n      bVar4 = true;\n    }" ({ "{") (if_statement "if (param_4 == (long *)0x0) goto LAB_00215a14;" (if "if") (parenthesized_expression "(param_4 == (long *)0x0)" (( "(") (binary_expression "param_4 == (long *)0x0" (identifier "param_4") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00215a14;" (goto "goto") (statement_identifier "LAB_00215a14") (; ";"))) (expression_statement "lVar5 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "lVar5 = (**(code **)(*param_4 + 0x50))(param_4)" (identifier "lVar5") (= "=") (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "bVar13 = lVar5 != 0;" (assignment_expression "bVar13 = lVar5 != 0" (identifier "bVar13") (= "=") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0"))) (; ";")) (labeled_statement "LAB_002156b5:\n      local_58 = *(long **)(param_5 + 0x28);" (statement_identifier "LAB_002156b5") (: ":") (expression_statement "local_58 = *(long **)(param_5 + 0x28);" (assignment_expression "local_58 = *(long **)(param_5 + 0x28)" (identifier "local_58") (= "=") (pointer_expression "*(long **)(param_5 + 0x28)" (* "*") (cast_expression "(long **)(param_5 + 0x28)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0x28)" (( "(") (binary_expression "param_5 + 0x28" (identifier "param_5") (+ "+") (number_literal "0x28")) () ")"))))) (; ";"))) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (} "}")))) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" (identifier "uStack_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);" (assignment_expression "local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" (identifier "local_48") (= "=") (call_expression "(ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11)" (( "(") (binary_expression "(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11" (parenthesized_expression "(-(uint)(param_2 == '\0') & 0xfffffff6)" (( "(") (binary_expression "-(uint)(param_2 == '\0') & 0xfffffff6" (unary_expression "-(uint)(param_2 == '\0')" (- "-") (call_expression "(uint)(param_2 == '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 == '\0')" (( "(") (binary_expression "param_2 == '\0'" (identifier "param_2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) (& "&") (number_literal "0xfffffff6")) () ")")) (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (if "if") (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" (( "(") (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (== "==") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }" ({ "{") (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" (identifier "FUN_001bc0a0") (argument_list "(lVar1 + 0x38,puVar12,&local_58)" (( "(") (binary_expression "lVar1 + 0x38" (identifier "lVar1") (+ "+") (number_literal "0x38")) (, ",") (identifier "puVar12") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (else "else") (compound_statement "{\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" ({ "{") (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar12 + 3" (identifier "puVar12") (+ "+") (number_literal "3"))) (; ";")) (} "}")))) (expression_statement "iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;" (assignment_expression "iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12" (identifier "iVar10") (= "=") (binary_expression "(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12" (parenthesized_expression "(-(uint)(param_2 == '\0') & 0xfffffff6)" (( "(") (binary_expression "-(uint)(param_2 == '\0') & 0xfffffff6" (unary_expression "-(uint)(param_2 == '\0')" (- "-") (call_expression "(uint)(param_2 == '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 == '\0')" (( "(") (binary_expression "param_2 == '\0'" (identifier "param_2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) (& "&") (number_literal "0xfffffff6")) () ")")) (+ "+") (number_literal "0x12"))) (; ";")) (if_statement "if (bVar13) {\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }\n    else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (if "if") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (compound_statement "{\n      if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" ({ "{") (if_statement "if (param_7 == '\0') {\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }\n      else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }" (if "if") (parenthesized_expression "(param_7 == '\0')" (( "(") (binary_expression "param_7 == '\0'" (identifier "param_7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        uStack_50 = 0;\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      }" ({ "{") (labeled_statement "LAB_00215a20:\n        local_58 = *(long **)(param_5 + 0x28);" (statement_identifier "LAB_00215a20") (: ":") (expression_statement "local_58 = *(long **)(param_5 + 0x28);" (assignment_expression "local_58 = *(long **)(param_5 + 0x28)" (identifier "local_58") (= "=") (pointer_expression "*(long **)(param_5 + 0x28)" (* "*") (cast_expression "(long **)(param_5 + 0x28)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0x28)" (( "(") (binary_expression "param_5 + 0x28" (identifier "param_5") (+ "+") (number_literal "0x28")) () ")"))))) (; ";"))) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" (identifier "uStack_50") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;" (if "if") (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" (( "(") (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (== "==") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (goto_statement "goto LAB_00215a4c;" (goto "goto") (statement_identifier "LAB_00215a4c") (; ";"))) (} "}")) (else_clause "else {\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }" (else "else") (compound_statement "{\n        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);\n        local_58 = *(long **)(param_5 + 0x28);\n        puVar12 = *(undefined8 **)(lVar1 + 0x40);\n        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }\n      }" ({ "{") (expression_statement "uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "uStack_50 = (**(code **)(*param_4 + 0x50))(param_4)" (identifier "uStack_50") (= "=") (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "local_58 = *(long **)(param_5 + 0x28);" (assignment_expression "local_58 = *(long **)(param_5 + 0x28)" (identifier "local_58") (= "=") (pointer_expression "*(long **)(param_5 + 0x28)" (* "*") (cast_expression "(long **)(param_5 + 0x28)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0x28)" (( "(") (binary_expression "param_5 + 0x28" (identifier "param_5") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }" (if "if") (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" (( "(") (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (== "==") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (compound_statement "{\nLAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);\n          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n          goto LAB_002159be;\n        }" ({ "{") (labeled_statement "LAB_00215a4c:\n          local_48 = CONCAT44(0xfffffffe,iVar10);" (statement_identifier "LAB_00215a4c") (: ":") (expression_statement "local_48 = CONCAT44(0xfffffffe,iVar10);" (assignment_expression "local_48 = CONCAT44(0xfffffffe,iVar10)" (identifier "local_48") (= "=") (call_expression "CONCAT44(0xfffffffe,iVar10)" (identifier "CONCAT44") (argument_list "(0xfffffffe,iVar10)" (( "(") (number_literal "0xfffffffe") (, ",") (identifier "iVar10") () ")")))) (; ";"))) (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" (identifier "FUN_001bc0a0") (argument_list "(lVar1 + 0x38,puVar12,&local_58)" (( "(") (binary_expression "lVar1 + 0x38" (identifier "lVar1") (+ "+") (number_literal "0x38")) (, ",") (identifier "puVar12") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (goto_statement "goto LAB_002159be;" (goto "goto") (statement_identifier "LAB_002159be") (; ";")) (} "}"))) (} "}")))) (expression_statement "local_48 = CONCAT44(0xfffffffe,iVar10);" (assignment_expression "local_48 = CONCAT44(0xfffffffe,iVar10)" (identifier "local_48") (= "=") (call_expression "CONCAT44(0xfffffffe,iVar10)" (identifier "CONCAT44") (argument_list "(0xfffffffe,iVar10)" (( "(") (number_literal "0xfffffffe") (, ",") (identifier "iVar10") () ")")))) (; ";")) (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar12[1] = uStack_50;" (assignment_expression "puVar12[1] = uStack_50" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uStack_50")) (; ";")) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar12 + 3" (identifier "puVar12") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (else_clause "else {\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (else "else") (compound_statement "{\n      if (bVar4) goto LAB_00215a20;\n      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);\n      puVar12 = *(undefined8 **)(lVar1 + 0x40);\n      local_48 = CONCAT44(0xfffffffe,iVar10);\n      uStack_50 = 0;\n      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;\n      *puVar12 = local_58;\n      puVar12[1] = 0;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" ({ "{") (if_statement "if (bVar4) goto LAB_00215a20;" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (goto_statement "goto LAB_00215a20;" (goto "goto") (statement_identifier "LAB_00215a20") (; ";"))) (expression_statement "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);" (assignment_expression "local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4)" (identifier "local_58") (= "=") (cast_expression "(long *)(**(code **)(*param_4 + 0x50))(param_4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_4 + 0x50))(param_4)" (parenthesized_expression "(**(code **)(*param_4 + 0x50))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x50)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x50)" (* "*") (cast_expression "(code **)(*param_4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x50)" (( "(") (binary_expression "*param_4 + 0x50" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "local_48 = CONCAT44(0xfffffffe,iVar10);" (assignment_expression "local_48 = CONCAT44(0xfffffffe,iVar10)" (identifier "local_48") (= "=") (call_expression "CONCAT44(0xfffffffe,iVar10)" (identifier "CONCAT44") (argument_list "(0xfffffffe,iVar10)" (( "(") (number_literal "0xfffffffe") (, ",") (identifier "iVar10") () ")")))) (; ";")) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" (identifier "uStack_50") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;" (if "if") (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" (( "(") (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (== "==") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (goto_statement "goto LAB_00215a4c;" (goto "goto") (statement_identifier "LAB_00215a4c") (; ";"))) (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar12 + 3" (identifier "puVar12") (+ "+") (number_literal "3"))) (; ";")) (} "}")))) (labeled_statement "LAB_002159be:\n    puVar7 = PTR_DAT_004ba7c8;" (statement_identifier "LAB_002159be") (: ":") (expression_statement "puVar7 = PTR_DAT_004ba7c8;" (assignment_expression "puVar7 = PTR_DAT_004ba7c8" (identifier "puVar7") (= "=") (identifier "PTR_DAT_004ba7c8")) (; ";"))) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x18)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x18" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_001e9890("../../gold/parameters.h",0x69,"target");\n    }" ({ "{") (expression_statement "FUN_001e9890("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x69,"target")" (identifier "FUN_001e9890") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);" (assignment_expression "iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" (identifier "iVar10") (= "=") (pointer_expression "**(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" (* "*") (pointer_expression "*(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" (* "*") (cast_expression "(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x18)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x18" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")")))))) (; ";")) (if_statement "if (param_2 == '\0') {\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }\n    else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" (if "if") (parenthesized_expression "(param_2 == '\0')" (( "(") (binary_expression "param_2 == '\0'" (identifier "param_2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }\n    }" ({ "{") (if_statement "if (iVar10 == 0x20) {\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }\n      else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }" (if "if") (parenthesized_expression "(iVar10 == 0x20)" (( "(") (binary_expression "iVar10 == 0x20" (identifier "iVar10") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n        uVar11 = 0xc;\n        uVar9 = 9;\n      }" ({ "{") (expression_statement "uVar11 = 0xc;" (assignment_expression "uVar11 = 0xc" (identifier "uVar11") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "uVar9 = 9;" (assignment_expression "uVar9 = 9" (identifier "uVar9") (= "=") (number_literal "9")) (; ";")) (} "}")) (else_clause "else {\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }" (else "else") (compound_statement "{\n        if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }\n        uVar11 = 0x18;\n        uVar9 = 9;\n      }" ({ "{") (if_statement "if (iVar10 != 0x40) {\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }" (if "if") (parenthesized_expression "(iVar10 != 0x40)" (( "(") (binary_expression "iVar10 != 0x40" (identifier "iVar10") (!= "!=") (number_literal "0x40")) () ")")) (compound_statement "{\n                    \n          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");\n        }" ({ "{") (expression_statement "FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");" (call_expression "FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags")" (identifier "FUN_001e9890") (argument_list "("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags")" (( "(") (string_literal ""../../gold/layout.cc"" (" """) (string_content "../../gold/layout.cc") (" """)) (, ",") (number_literal "0x13fa") (, ",") (string_literal ""add_target_dynamic_tags"" (" """) (string_content "add_target_dynamic_tags") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar11 = 0x18;" (assignment_expression "uVar11 = 0x18" (identifier "uVar11") (= "=") (number_literal "0x18")) (; ";")) (expression_statement "uVar9 = 9;" (assignment_expression "uVar9 = 9" (identifier "uVar9") (= "=") (number_literal "9")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" (else "else") (if_statement "if (iVar10 == 0x20) {\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }\n    else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" (if "if") (parenthesized_expression "(iVar10 == 0x20)" (( "(") (binary_expression "iVar10 == 0x20" (identifier "iVar10") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      uVar11 = 8;\n      uVar9 = 0x13;\n    }" ({ "{") (expression_statement "uVar11 = 8;" (assignment_expression "uVar11 = 8" (identifier "uVar11") (= "=") (number_literal "8")) (; ";")) (expression_statement "uVar9 = 0x13;" (assignment_expression "uVar9 = 0x13" (identifier "uVar9") (= "=") (number_literal "0x13")) (; ";")) (} "}")) (else_clause "else {\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" (else "else") (compound_statement "{\n      if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }\n      uVar11 = 0x10;\n      uVar9 = 0x13;\n    }" ({ "{") (if_statement "if (iVar10 != 0x40) {\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }" (if "if") (parenthesized_expression "(iVar10 != 0x40)" (( "(") (binary_expression "iVar10 != 0x40" (identifier "iVar10") (!= "!=") (number_literal "0x40")) () ")")) (compound_statement "{\n                    \n        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");\n      }" ({ "{") (expression_statement "FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");" (call_expression "FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags")" (identifier "FUN_001e9890") (argument_list "("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags")" (( "(") (string_literal ""../../gold/layout.cc"" (" """) (string_content "../../gold/layout.cc") (" """)) (, ",") (number_literal "0x13f0") (, ",") (string_literal ""add_target_dynamic_tags"" (" """) (string_content "add_target_dynamic_tags") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar11 = 0x10;" (assignment_expression "uVar11 = 0x10" (identifier "uVar11") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "uVar9 = 0x13;" (assignment_expression "uVar9 = 0x13" (identifier "uVar9") (= "=") (number_literal "0x13")) (; ";")) (} "}")))))) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "local_48 = CONCAT44(0xffffffff,uVar9);" (assignment_expression "local_48 = CONCAT44(0xffffffff,uVar9)" (identifier "local_48") (= "=") (call_expression "CONCAT44(0xffffffff,uVar9)" (identifier "CONCAT44") (argument_list "(0xffffffff,uVar9)" (( "(") (number_literal "0xffffffff") (, ",") (identifier "uVar9") () ")")))) (; ";")) (expression_statement "local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);" (assignment_expression "local_58 = (long *)CONCAT44(local_58._4_4_,uVar11)" (identifier "local_58") (= "=") (cast_expression "(long *)CONCAT44(local_58._4_4_,uVar11)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT44(local_58._4_4_,uVar11)" (identifier "CONCAT44") (argument_list "(local_58._4_4_,uVar11)" (( "(") (field_expression "local_58._4_4_" (identifier "local_58") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "uVar11") () ")"))))) (; ";")) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (if "if") (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" (( "(") (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (== "==") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n      puVar7 = PTR_DAT_004ba7c8;\n    }" ({ "{") (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" (identifier "FUN_001bc0a0") (argument_list "(lVar1 + 0x38,puVar12,&local_58)" (( "(") (binary_expression "lVar1 + 0x38" (identifier "lVar1") (+ "+") (number_literal "0x38")) (, ",") (identifier "puVar12") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "puVar7 = PTR_DAT_004ba7c8;" (assignment_expression "puVar7 = PTR_DAT_004ba7c8" (identifier "puVar7") (= "=") (identifier "PTR_DAT_004ba7c8")) (; ";")) (} "}")) (else_clause "else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (else "else") (compound_statement "{\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" ({ "{") (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar12[1] = uStack_50;" (assignment_expression "puVar12[1] = uStack_50" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uStack_50")) (; ";")) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar12 + 3" (identifier "puVar12") (+ "+") (number_literal "3"))) (; ";")) (} "}")))) (expression_statement "lVar5 = *(long *)(puVar7 + 0x10);" (assignment_expression "lVar5 = *(long *)(puVar7 + 0x10)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(puVar7 + 0x10)" (* "*") (cast_expression "(long *)(puVar7 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x10)" (( "(") (binary_expression "puVar7 + 0x10" (identifier "puVar7") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar5 == 0) goto LAB_00215945;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00215945;" (goto "goto") (statement_identifier "LAB_00215945") (; ";"))) (if_statement "if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }" (if "if") (parenthesized_expression "(((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0))" (( "(") (binary_expression "((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)" (parenthesized_expression "((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4))" (( "(") (binary_expression "(*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)" (parenthesized_expression "(*(char *)(lVar5 + 0x7e39) == '\0')" (( "(") (binary_expression "*(char *)(lVar5 + 0x7e39) == '\0'" (pointer_expression "*(char *)(lVar5 + 0x7e39)" (* "*") (cast_expression "(char *)(lVar5 + 0x7e39)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x7e39)" (( "(") (binary_expression "lVar5 + 0x7e39" (identifier "lVar5") (+ "+") (number_literal "0x7e39")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(!bVar4)" (( "(") (unary_expression "!bVar4" (! "!") (identifier "bVar4")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(long *)(param_5 + 0x38) == 0)" (( "(") (binary_expression "*(long *)(param_5 + 0x38) == 0" (pointer_expression "*(long *)(param_5 + 0x38)" (* "*") (cast_expression "(long *)(param_5 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x38)" (( "(") (binary_expression "param_5 + 0x38" (identifier "param_5") (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      if (param_6 == '\0') {\n        return;\n      }\n      goto LAB_00215811;\n    }" ({ "{") (if_statement "if (param_6 == '\0') {\n        return;\n      }" (if "if") (parenthesized_expression "(param_6 == '\0')" (( "(") (binary_expression "param_6 == '\0'" (identifier "param_6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_00215811;" (goto "goto") (statement_identifier "LAB_00215811") (; ";")) (} "}"))) (expression_statement "local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));" (assignment_expression "local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" (identifier "local_58") (= "=") (cast_expression "(long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" (identifier "CONCAT44") (argument_list "(local_58._4_4_,(int)*(long *)(param_5 + 0x38))" (( "(") (field_expression "local_58._4_4_" (identifier "local_58") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(int)*(long *)(param_5 + 0x38)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(long *)(param_5 + 0x38)" (* "*") (cast_expression "(long *)(param_5 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x38)" (( "(") (binary_expression "param_5 + 0x38" (identifier "param_5") (+ "+") (number_literal "0x38")) () ")"))))) () ")"))))) (; ";")) (expression_statement "puVar12 = *(undefined8 **)(lVar1 + 0x40);" (assignment_expression "puVar12 = *(undefined8 **)(lVar1 + 0x40)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);" (assignment_expression "local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9)" (identifier "local_48") (= "=") (call_expression "CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9)" (identifier "CONCAT44") (argument_list "(0xffffffff,(param_2 != '\0') + 0x6ffffff9)" (( "(") (number_literal "0xffffffff") (, ",") (binary_expression "(param_2 != '\0') + 0x6ffffff9" (parenthesized_expression "(param_2 != '\0')" (( "(") (binary_expression "param_2 != '\0'" (identifier "param_2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (+ "+") (number_literal "0x6ffffff9")) () ")")))) (; ";")) (if_statement "if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }\n    else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (if "if") (parenthesized_expression "(puVar12 == *(undefined8 **)(lVar1 + 0x48))" (( "(") (binary_expression "puVar12 == *(undefined8 **)(lVar1 + 0x48)" (identifier "puVar12") (== "==") (pointer_expression "*(undefined8 **)(lVar1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (compound_statement "{\n      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);\n    }" ({ "{") (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58)" (identifier "FUN_001bc0a0") (argument_list "(lVar1 + 0x38,puVar12,&local_58)" (( "(") (binary_expression "lVar1 + 0x38" (identifier "lVar1") (+ "+") (number_literal "0x38")) (, ",") (identifier "puVar12") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" (else "else") (compound_statement "{\n      *puVar12 = local_58;\n      puVar12[1] = uStack_50;\n      puVar12[2] = local_48;\n      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;\n    }" ({ "{") (expression_statement "*puVar12 = local_58;" (assignment_expression "*puVar12 = local_58" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar12[1] = uStack_50;" (assignment_expression "puVar12[1] = uStack_50" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uStack_50")) (; ";")) (expression_statement "puVar12[2] = local_48;" (assignment_expression "puVar12[2] = local_48" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;" (assignment_expression "*(undefined8 **)(lVar1 + 0x40) = puVar12 + 3" (pointer_expression "*(undefined8 **)(lVar1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar12 + 3" (identifier "puVar12") (+ "+") (number_literal "3"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_00215928:\n  if (param_6 == '\0') {\n    return;\n  }" (statement_identifier "LAB_00215928") (: ":") (if_statement "if (param_6 == '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(param_6 == '\0')" (( "(") (binary_expression "param_6 == '\0'" (identifier "param_6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar5 != 0) {\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }\n    return;\n  }" ({ "{") (labeled_statement "LAB_00215811:\n    if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }" (statement_identifier "LAB_00215811") (: ":") (if_statement "if (*(char *)(lVar5 + 0x2a61) == '\0') {\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(lVar5 + 0x2a61) == '\0')" (( "(") (binary_expression "*(char *)(lVar5 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar5 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar5 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x2a61)" (( "(") (binary_expression "lVar5 + 0x2a61" (identifier "lVar5") (+ "+") (number_literal "0x2a61")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);\n      local_48 = 0xffffffff00000015;\n      puVar3 = *(ulong **)(lVar1 + 0x40);\n      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }\n    }" ({ "{") (expression_statement "local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);" (assignment_expression "local_58 = (long *)((ulong)local_58 & 0xffffffff00000000)" (identifier "local_58") (= "=") (cast_expression "(long *)((ulong)local_58 & 0xffffffff00000000)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)local_58 & 0xffffffff00000000)" (( "(") (binary_expression "(ulong)local_58 & 0xffffffff00000000" (cast_expression "(ulong)local_58" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_58")) (& "&") (number_literal "0xffffffff00000000")) () ")")))) (; ";")) (expression_statement "local_48 = 0xffffffff00000015;" (assignment_expression "local_48 = 0xffffffff00000015" (identifier "local_48") (= "=") (number_literal "0xffffffff00000015")) (; ";")) (expression_statement "puVar3 = *(ulong **)(lVar1 + 0x40);" (assignment_expression "puVar3 = *(ulong **)(lVar1 + 0x40)" (identifier "puVar3") (= "=") (pointer_expression "*(ulong **)(lVar1 + 0x40)" (* "*") (cast_expression "(ulong **)(lVar1 + 0x40)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (puVar3 == *(ulong **)(lVar1 + 0x48)) {\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }\n      else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }" (if "if") (parenthesized_expression "(puVar3 == *(ulong **)(lVar1 + 0x48))" (( "(") (binary_expression "puVar3 == *(ulong **)(lVar1 + 0x48)" (identifier "puVar3") (== "==") (pointer_expression "*(ulong **)(lVar1 + 0x48)" (* "*") (cast_expression "(ulong **)(lVar1 + 0x48)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x48)" (( "(") (binary_expression "lVar1 + 0x48" (identifier "lVar1") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (compound_statement "{\n        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);\n      }" ({ "{") (expression_statement "FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);" (call_expression "FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58)" (identifier "FUN_001bc0a0") (argument_list "(lVar1 + 0x38,puVar3,&local_58)" (( "(") (binary_expression "lVar1 + 0x38" (identifier "lVar1") (+ "+") (number_literal "0x38")) (, ",") (identifier "puVar3") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }" (else "else") (compound_statement "{\n        *puVar3 = (ulong)local_58;\n        puVar3[1] = uStack_50;\n        puVar3[2] = 0xffffffff00000015;\n        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;\n      }" ({ "{") (expression_statement "*puVar3 = (ulong)local_58;" (assignment_expression "*puVar3 = (ulong)local_58" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (cast_expression "(ulong)local_58" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_58"))) (; ";")) (expression_statement "puVar3[1] = uStack_50;" (assignment_expression "puVar3[1] = uStack_50" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uStack_50")) (; ";")) (expression_statement "puVar3[2] = 0xffffffff00000015;" (assignment_expression "puVar3[2] = 0xffffffff00000015" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xffffffff00000015")) (; ";")) (expression_statement "*(ulong **)(lVar1 + 0x40) = puVar3 + 3;" (assignment_expression "*(ulong **)(lVar1 + 0x40) = puVar3 + 3" (pointer_expression "*(ulong **)(lVar1 + 0x40)" (* "*") (cast_expression "(ulong **)(lVar1 + 0x40)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x40)" (( "(") (binary_expression "lVar1 + 0x40" (identifier "lVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar3 + 3" (identifier "puVar3") (+ "+") (number_literal "3"))) (; ";")) (} "}")))) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_00215945:\n                    \n  FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_00215945") (: ":") (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_001e9890") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";"))) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void add_target_dynamic_tags(Layout * this, bool use_rel, Output_data *
   plt_got, Output_data * plt_rel, Output_data_reloc_generic * dyn_rel, bool add_debug, bool
   dynrel_includes_plt) */

void __thiscall
gold::type_1::function_1
          (type_1 *this,bool var_14,type_2 *var_2,type_2 *var_6,
          type_3 *var_7,bool add_debug,bool dynrel_includes_plt)

{
  type_4 *this_00;
  type_5 *var_1;
  type_6 *var_8;
  type_7 *var_10;
  bool bVar4;
  int var_12;
  type_8 extraout_var;
  type_8 extraout_var_00;
  type_8 extraout_var_01;
  type_8 extraout_var_02;
  type_6 *var_9;
  type_8 extraout_var_03;
  type_8 extraout_var_04;
  type_9 *pPVar7;
  type_10 *var_13;
  type_8 extraout_var_05;
  type_8 extraout_var_06;
  type_8 extraout_var_07;
  type_8 extraout_var_08;
  type_8 uVar9;
  type_11 iVar10;
  bool bVar11;
  type_6 local_58;
  type_6 aStack_50;
  type_6 local_48;
  
  var_1 = this->dynamic_data_;
  if (var_1 == (type_5 *)0x0) {
    return;
  }
  if ((var_2 != (type_2 *)0x0) &&
     (var_12 = (*var_2->_vptr_Output_data[10])(var_2), var_3(extraout_var,var_12) != 0)) {
    local_48 = (type_6)0x3;
    iVar10._M_current =
         (var_1->entries_).
         super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
         ._M_impl._M_finish;
    aStack_50.od = (type_2 *)0x0;
    local_58.od = var_2;
    if (iVar10._M_current ==
        (var_1->entries_).
        super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::var_4&>
                (&var_1->entries_,iVar10,(var_4 *)&local_58);
    }
    else {
      ((iVar10._M_current)->u_).od = var_2;
      (iVar10._M_current)->od2 = (type_2 *)0x0;
      (iVar10._M_current)->tag_ = DT_PLTGOT;
      (iVar10._M_current)->offset_ = 0;
      (var_1->entries_).
      super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ._M_impl._M_finish = iVar10._M_current + 1;
    }
  }
  if (var_6 == (type_2 *)0x0) {
    if ((var_7 != (type_3 *)0x0) &&
       ((var_7->super_Output_section_data_build).super_Output_section_data.output_section_ !=
        (type_7 *)0x0)) {
LAB_00215a14:
      bVar11 = false;
      goto LAB_002156b5;
    }
  }
  else {
    var_12 = (*var_6->_vptr_Output_data[10])(var_6);
    if (var_3(extraout_var_00,var_12) != 0) {
      this_00 = &var_1->entries_;
      local_58.val = (*var_6->_vptr_Output_data[10])(var_6);
      local_58._4_4_ = extraout_var_01;
      aStack_50 = (type_6)0x0;
      local_48 = (type_6)0xfffffffe00000002;
      iVar10._M_current =
           (var_1->entries_).
           super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
           ._M_impl._M_finish;
      if (iVar10._M_current ==
          (var_1->entries_).
          super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
          ._M_impl._M_end_of_storage) {
        std::
        vector<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::var_4&>
                  (this_00,iVar10,(var_4 *)&local_58);
      }
      else {
        (iVar10._M_current)->u_ = local_58;
        (iVar10._M_current)->od2 = (type_2 *)0x0;
        (iVar10._M_current)->tag_ = DT_PLTRELSZ;
        (iVar10._M_current)->offset_ = 0xfffffffe;
        (var_1->entries_).
        super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
        ._M_impl._M_finish = iVar10._M_current + 1;
      }
      local_58.val = (*var_6->_vptr_Output_data[10])(var_6);
      local_58._4_4_ = extraout_var_02;
      local_48 = (type_6)0x17;
      iVar10._M_current =
           (var_1->entries_).
           super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
           ._M_impl._M_end_of_storage;
      var_8 = &((var_1->entries_).
                 super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
                 ._M_impl._M_finish)->u_;
      aStack_50.od = (type_2 *)0x0;
      if (var_8 == &(iVar10._M_current)->u_) {
        std::
        vector<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::var_4&>
                  (this_00,iVar10,(var_4 *)&local_58);
        var_9 = &((var_1->entries_).
                   super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
                   ._M_impl._M_finish)->u_;
        iVar10._M_current =
             (var_1->entries_).
             super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
             ._M_impl._M_end_of_storage;
      }
      else {
        var_9 = var_8 + 3;
        *var_8 = local_58;
        var_8[1].od = (type_2 *)0x0;
        var_8[2] = (type_6)0x17;
        (var_1->entries_).
        super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
        ._M_impl._M_finish = (type_12)var_9;
      }
      local_48 = (type_6)0xffffffff00000014;
      local_58.val = (-(type_13)!var_14 & 0xfffffff6) + 0x11;
      if (&(iVar10._M_current)->u_ == var_9) {
        std::
        vector<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::var_4&>
                  (this_00,iVar10,(var_4 *)&local_58);
      }
      else {
        var_9->od = (type_2 *)local_58;
        var_9[1].od = (type_2 *)aStack_50;
        var_9[2].od = (type_2 *)0xffffffff00000014;
        (var_1->entries_).
        super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
        ._M_impl._M_finish = (type_12)(var_9 + 3);
      }
    }
    if ((var_7 == (type_3 *)0x0) ||
       ((var_7->super_Output_section_data_build).super_Output_section_data.output_section_ ==
        (type_7 *)0x0)) {
      if ((var_6 == (type_2 *)0x0) ||
         ((!dynrel_includes_plt ||
          (var_12 = (*var_6->_vptr_Output_data[10])(var_6), var_3(extraout_var_05,var_12) == 0)
          ))) goto LAB_00215928;
      if (var_7 == (type_3 *)0x0) {
        (*var_6->_vptr_Output_data[10])(var_6);
        bVar11 = false;
      }
      else {
        var_10 = (var_7->super_Output_section_data_build).super_Output_section_data.
                 output_section_;
        var_12 = (*var_6->_vptr_Output_data[10])(var_6);
        bVar11 = var_3(extraout_var_08,var_12) != 0 && var_10 != (type_7 *)0x0;
        if (var_10 != (type_7 *)0x0) goto LAB_002156b5;
      }
      bVar4 = false;
      local_58.val = (*var_6->_vptr_Output_data[10])(var_6);
      local_58._4_4_ = extraout_var_06;
    }
    else {
      if (var_6 == (type_2 *)0x0) goto LAB_00215a14;
      var_12 = (*var_6->_vptr_Output_data[10])(var_6);
      bVar11 = var_3(extraout_var_03,var_12) != 0;
LAB_002156b5:
      local_58 = (type_6)
                 (var_7->super_Output_section_data_build).super_Output_section_data.
                 output_section_;
      bVar4 = true;
    }
    iVar10._M_current =
         (var_1->entries_).
         super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
         ._M_impl._M_finish;
    aStack_50 = (type_6)0x0;
    local_48._4_4_ = 0;
    local_48.val = (-(type_13)!var_14 & 0xfffffff6) + 0x11;
    if (iVar10._M_current ==
        (var_1->entries_).
        super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::var_4&>
                (&var_1->entries_,iVar10,(var_4 *)&local_58);
    }
    else {
      (iVar10._M_current)->u_ = local_58;
      (iVar10._M_current)->od2 = (type_2 *)0x0;
      *(type_6 *)&(iVar10._M_current)->tag_ = local_48;
      (var_1->entries_).
      super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ._M_impl._M_finish = iVar10._M_current + 1;
    }
    var_12 = (-(type_13)!var_14 & 0xfffffff6) + 0x12;
    if (bVar11) {
      if (dynrel_includes_plt) {
        aStack_50._0_4_ = (*var_6->_vptr_Output_data[10])(var_6);
        aStack_50._4_4_ = extraout_var_04;
        local_58 = (type_6)
                   (var_7->super_Output_section_data_build).super_Output_section_data.
                   output_section_;
        iVar10._M_current =
             (var_1->entries_).
             super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
             ._M_impl._M_finish;
        if (&(iVar10._M_current)->u_ ==
            &((var_1->entries_).
              super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
              ._M_impl._M_end_of_storage)->u_) {
LAB_00215a4c:
          local_48._4_4_ = 0xfffffffe;
          local_48.val = var_12;
          std::
          vector<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::var_4&>
                    (&var_1->entries_,iVar10,(var_4 *)&local_58);
          goto LAB_002159be;
        }
      }
      else {
LAB_00215a20:
        local_58 = (type_6)
                   (var_7->super_Output_section_data_build).super_Output_section_data.
                   output_section_;
        iVar10._M_current =
             (var_1->entries_).
             super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
             ._M_impl._M_finish;
        aStack_50.od = (type_2 *)0x0;
        if (&(iVar10._M_current)->u_ ==
            &((var_1->entries_).
              super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
              ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;
      }
      local_48._4_4_ = 0xfffffffe;
      local_48.val = var_12;
      (iVar10._M_current)->u_ = local_58;
      *(type_6 *)((long)iVar10._M_current + 8) = aStack_50;
      *(type_6 *)((long)iVar10._M_current + 0x10) = local_48;
      (var_1->entries_).
      super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ._M_impl._M_finish = (type_12)((long)iVar10._M_current + 0x18);
    }
    else {
      if (bVar4) goto LAB_00215a20;
      local_58.val = (*var_6->_vptr_Output_data[10])(var_6);
      local_58._4_4_ = extraout_var_07;
      iVar10._M_current =
           (var_1->entries_).
           super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
           ._M_impl._M_finish;
      local_48._4_4_ = 0xfffffffe;
      local_48.val = var_12;
      aStack_50.od = (type_2 *)0x0;
      if (&(iVar10._M_current)->u_ ==
          &((var_1->entries_).
            super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
            ._M_impl._M_end_of_storage)->u_) goto LAB_00215a4c;
      (iVar10._M_current)->u_ = local_58;
      ((type_6 *)((long)iVar10._M_current + 8))->od = (type_2 *)0x0;
      *(type_6 *)((long)iVar10._M_current + 0x10) = local_48;
      (var_1->entries_).
      super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ._M_impl._M_finish = (type_12)((long)iVar10._M_current + 0x18);
    }
LAB_002159be:
    pPVar7 = parameters;
    if (parameters->target_ == (type_14 *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_11("../../gold/parameters.h",0x69,"target");
    }
    var_12 = parameters->target_->pti_->size;
    if (var_14) {
      if (var_12 == 0x20) {
        uVar9 = 8;
        local_48.val = 0x13;
      }
      else {
        if (var_12 != 0x40) {
                    /* WARNING: Subroutine does not return */
          var_11("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");
        }
        uVar9 = 0x10;
        local_48.val = 0x13;
      }
    }
    else if (var_12 == 0x20) {
      uVar9 = 0xc;
      local_48.val = 9;
    }
    else {
      if (var_12 != 0x40) {
                    /* WARNING: Subroutine does not return */
        var_11("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");
      }
      uVar9 = 0x18;
      local_48.val = 9;
    }
    iVar10._M_current =
         (var_1->entries_).
         super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
         ._M_impl._M_finish;
    local_48._4_4_ = 0xffffffff;
    local_58.val = uVar9;
    if (iVar10._M_current ==
        (var_1->entries_).
        super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::var_4&>
                (&var_1->entries_,iVar10,(var_4 *)&local_58);
      pPVar7 = parameters;
    }
    else {
                    /* WARNING: Store size is inaccurate */
      *(type_6 *)&((iVar10._M_current)->u_).val = local_58;
      (iVar10._M_current)->od2 = (type_2 *)aStack_50;
      *(type_6 *)&(iVar10._M_current)->tag_ = local_48;
      (var_1->entries_).
      super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ._M_impl._M_finish = iVar10._M_current + 1;
    }
    var_13 = pPVar7->options_;
    if (var_13 == (type_10 *)0x0) goto LAB_00215945;
    if ((((var_13->combreloc_).value == false) || (!bVar4)) || (var_7->relative_reloc_count_ == 0)
       ) {
      if (!add_debug) {
        return;
      }
      goto LAB_00215811;
    }
    local_58.val = (int)var_7->relative_reloc_count_;
    iVar10._M_current =
         (var_1->entries_).
         super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
         ._M_impl._M_finish;
    local_48._4_4_ = 0xffffffff;
    local_48.val = var_14 + 0x6ffffff9;
    if (iVar10._M_current ==
        (var_1->entries_).
        super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::var_4&>
                (&var_1->entries_,iVar10,(var_4 *)&local_58);
    }
    else {
      ((iVar10._M_current)->u_).od = (type_2 *)local_58;
      (iVar10._M_current)->od2 = (type_2 *)aStack_50;
      *(type_6 *)&(iVar10._M_current)->tag_ = local_48;
      (var_1->entries_).
      super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
      ._M_impl._M_finish = iVar10._M_current + 1;
    }
  }
LAB_00215928:
  if (!add_debug) {
    return;
  }
  var_13 = parameters->options_;
  if (var_13 != (type_10 *)0x0) {
LAB_00215811:
    if ((var_13->shared_).value == false) {
      local_58.od = local_58.od & 0xffffffff00000000;
      local_48 = (type_6)0xffffffff00000015;
      iVar10._M_current =
           (var_1->entries_).
           super__Vector_base<gold::type_5::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
           ._M_impl._M_finish;
      if (iVar10._M_current ==
          (var_1->entries_).
          super__Vector_base<gold::type_5::var_4,_std::allocator<gold::type_5::var_4>var_5>
          ._M_impl._M_end_of_storage) {
        std::
        vector<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::var_4&>
                  (&var_1->entries_,iVar10,(var_4 *)&local_58);
      }
      else {
        ((iVar10._M_current)->u_).od = (type_2 *)local_58;
        (iVar10._M_current)->od2 = (type_2 *)aStack_50;
        (iVar10._M_current)->tag_ = DT_DEBUG;
        (iVar10._M_current)->offset_ = 0xffffffff;
        (var_1->entries_).
        super__Vector_base<gold::Output_data_dynamic::var_4,_std::allocator<gold::Output_data_dynamic::var_4>var_5>
        ._M_impl._M_finish = iVar10._M_current + 1;
      }
    }
    return;
  }
LAB_00215945:
                    /* WARNING: Subroutine does not return */
  var_11("../../gold/parameters.h",0x5c,"options");
}


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

void MASKED(long param_1,char param_2,long *param_3,long *param_4,long param_5,char param_6,
                 char param_7)

{
  long lVar1;
  undefined8 *puVar2;
  ulong *puVar3;
  bool bVar4;
  long lVar5;
  undefined8 *puVar6;
  undefined *puVar7;
  long lVar8;
  undefined4 uVar9;
  int iVar10;
  undefined4 uVar11;
  undefined8 *puVar12;
  bool bVar13;
  long *local_58;
  ulong uStack_50;
  undefined8 local_48;
  
  lVar1 = *(long *)(param_1 + 0x300);
  if (lVar1 == 0) {
    return;
  }
  if ((param_3 != (long *)0x0) && (lVar5 = (**(code **)(*param_3 + 0x50))(param_3), lVar5 != 0)) {
    local_48 = 3;
    puVar12 = *(undefined8 **)(lVar1 + 0x40);
    uStack_50 = 0;
    local_58 = param_3;
    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
    }
    else {
      *puVar12 = param_3;
      puVar12[1] = 0;
      puVar12[2] = 3;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
  }
  if (param_4 == (long *)0x0) {
    if ((param_5 != 0) && (*(long *)(param_5 + 0x28) != 0)) {
LAB_00215a14:
      bVar13 = false;
      goto LAB_002156b5;
    }
  }
  else {
    lVar5 = (**(code **)(*param_4 + 0x50))(param_4);
    if (lVar5 != 0) {
      lVar5 = lVar1 + 0x38;
      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);
      uStack_50 = 0;
      local_48 = 0xfffffffe00000002;
      puVar12 = *(undefined8 **)(lVar1 + 0x40);
      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
        FUN_001bc0a0(lVar5,puVar12,&local_58);
      }
      else {
        *puVar12 = local_58;
        puVar12[1] = 0;
        puVar12[2] = 0xfffffffe00000002;
        *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
      }
      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);
      local_48 = 0x17;
      puVar12 = *(undefined8 **)(lVar1 + 0x48);
      puVar2 = *(undefined8 **)(lVar1 + 0x40);
      uStack_50 = 0;
      if (puVar2 == puVar12) {
        FUN_001bc0a0(lVar5,puVar12,&local_58);
        puVar6 = *(undefined8 **)(lVar1 + 0x40);
        puVar12 = *(undefined8 **)(lVar1 + 0x48);
      }
      else {
        puVar6 = puVar2 + 3;
        *puVar2 = local_58;
        puVar2[1] = 0;
        puVar2[2] = 0x17;
        *(undefined8 **)(lVar1 + 0x40) = puVar6;
      }
      local_48 = 0xffffffff00000014;
      local_58 = (long *)CONCAT44(local_58._4_4_,(-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);
      if (puVar12 == puVar6) {
        FUN_001bc0a0(lVar5,puVar12,&local_58);
      }
      else {
        *puVar6 = local_58;
        puVar6[1] = uStack_50;
        puVar6[2] = 0xffffffff00000014;
        *(undefined8 **)(lVar1 + 0x40) = puVar6 + 3;
      }
    }
    if ((param_5 == 0) || (*(long *)(param_5 + 0x28) == 0)) {
      if ((param_4 == (long *)0x0) ||
         ((param_7 == '\0' || (lVar5 = (**(code **)(*param_4 + 0x50))(param_4), lVar5 == 0))))
      goto LAB_00215928;
      if (param_5 == 0) {
        (**(code **)(*param_4 + 0x50))(param_4);
        bVar13 = false;
      }
      else {
        lVar5 = *(long *)(param_5 + 0x28);
        lVar8 = (**(code **)(*param_4 + 0x50))(param_4);
        bVar13 = lVar8 != 0 && lVar5 != 0;
        if (lVar5 != 0) goto LAB_002156b5;
      }
      bVar4 = false;
      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);
    }
    else {
      if (param_4 == (long *)0x0) goto LAB_00215a14;
      lVar5 = (**(code **)(*param_4 + 0x50))(param_4);
      bVar13 = lVar5 != 0;
LAB_002156b5:
      local_58 = *(long **)(param_5 + 0x28);
      bVar4 = true;
    }
    puVar12 = *(undefined8 **)(lVar1 + 0x40);
    uStack_50 = 0;
    local_48 = (ulong)((-(uint)(param_2 == '\0') & 0xfffffff6) + 0x11);
    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
    }
    else {
      *puVar12 = local_58;
      puVar12[1] = 0;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
    iVar10 = (-(uint)(param_2 == '\0') & 0xfffffff6) + 0x12;
    if (bVar13) {
      if (param_7 == '\0') {
LAB_00215a20:
        local_58 = *(long **)(param_5 + 0x28);
        puVar12 = *(undefined8 **)(lVar1 + 0x40);
        uStack_50 = 0;
        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;
      }
      else {
        uStack_50 = (**(code **)(*param_4 + 0x50))(param_4);
        local_58 = *(long **)(param_5 + 0x28);
        puVar12 = *(undefined8 **)(lVar1 + 0x40);
        if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
LAB_00215a4c:
          local_48 = CONCAT44(0xfffffffe,iVar10);
          FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
          goto LAB_002159be;
        }
      }
      local_48 = CONCAT44(0xfffffffe,iVar10);
      *puVar12 = local_58;
      puVar12[1] = uStack_50;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
    else {
      if (bVar4) goto LAB_00215a20;
      local_58 = (long *)(**(code **)(*param_4 + 0x50))(param_4);
      puVar12 = *(undefined8 **)(lVar1 + 0x40);
      local_48 = CONCAT44(0xfffffffe,iVar10);
      uStack_50 = 0;
      if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) goto LAB_00215a4c;
      *puVar12 = local_58;
      puVar12[1] = 0;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
LAB_002159be:
    puVar7 = PTR_DAT_004ba7c8;
    if (*(long *)(PTR_DAT_004ba7c8 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_001e9890("../../gold/parameters.h",0x69,"target");
    }
    iVar10 = **(int **)(*(long *)(PTR_DAT_004ba7c8 + 0x18) + 8);
    if (param_2 == '\0') {
      if (iVar10 == 0x20) {
        uVar11 = 0xc;
        uVar9 = 9;
      }
      else {
        if (iVar10 != 0x40) {
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/layout.cc",0x13fa,"add_target_dynamic_tags");
        }
        uVar11 = 0x18;
        uVar9 = 9;
      }
    }
    else if (iVar10 == 0x20) {
      uVar11 = 8;
      uVar9 = 0x13;
    }
    else {
      if (iVar10 != 0x40) {
                    /* WARNING: Subroutine does not return */
        FUN_001e9890("../../gold/layout.cc",0x13f0,"add_target_dynamic_tags");
      }
      uVar11 = 0x10;
      uVar9 = 0x13;
    }
    puVar12 = *(undefined8 **)(lVar1 + 0x40);
    local_48 = CONCAT44(0xffffffff,uVar9);
    local_58 = (long *)CONCAT44(local_58._4_4_,uVar11);
    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
      puVar7 = PTR_DAT_004ba7c8;
    }
    else {
      *puVar12 = local_58;
      puVar12[1] = uStack_50;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
    lVar5 = *(long *)(puVar7 + 0x10);
    if (lVar5 == 0) goto LAB_00215945;
    if (((*(char *)(lVar5 + 0x7e39) == '\0') || (!bVar4)) || (*(long *)(param_5 + 0x38) == 0)) {
      if (param_6 == '\0') {
        return;
      }
      goto LAB_00215811;
    }
    local_58 = (long *)CONCAT44(local_58._4_4_,(int)*(long *)(param_5 + 0x38));
    puVar12 = *(undefined8 **)(lVar1 + 0x40);
    local_48 = CONCAT44(0xffffffff,(param_2 != '\0') + 0x6ffffff9);
    if (puVar12 == *(undefined8 **)(lVar1 + 0x48)) {
      FUN_001bc0a0(lVar1 + 0x38,puVar12,&local_58);
    }
    else {
      *puVar12 = local_58;
      puVar12[1] = uStack_50;
      puVar12[2] = local_48;
      *(undefined8 **)(lVar1 + 0x40) = puVar12 + 3;
    }
  }
LAB_00215928:
  if (param_6 == '\0') {
    return;
  }
  lVar5 = *(long *)(PTR_DAT_004ba7c8 + 0x10);
  if (lVar5 != 0) {
LAB_00215811:
    if (*(char *)(lVar5 + 0x2a61) == '\0') {
      local_58 = (long *)((ulong)local_58 & 0xffffffff00000000);
      local_48 = 0xffffffff00000015;
      puVar3 = *(ulong **)(lVar1 + 0x40);
      if (puVar3 == *(ulong **)(lVar1 + 0x48)) {
        FUN_001bc0a0(lVar1 + 0x38,puVar3,&local_58);
      }
      else {
        *puVar3 = (ulong)local_58;
        puVar3[1] = uStack_50;
        puVar3[2] = 0xffffffff00000015;
        *(ulong **)(lVar1 + 0x40) = puVar3 + 3;
      }
    }
    return;
  }
LAB_00215945:
                    /* WARNING: Subroutine does not return */
  FUN_001e9890("../../gold/parameters.h",0x5c,"options");
}

