
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* std::ostreambuf_iterator<char, std::char_traits<char> > std::money_put<char,
   std::ostreambuf_iterator<char, std::char_traits<char> >
   >::_M_insert<false>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,
   char, std::string const&) const */

undefined4 *
std::money_put<char,std::ostreambuf_iterator<char,std::char_traits<char>>>::_M_insert<false>
          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6
          ,undefined4 *param_7)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  undefined1 *puVar5;
  undefined4 *puVar6;
  byte *pbVar7;
  uint uVar8;
  int *piVar9;
  byte *pbVar10;
  uint uVar11;
  byte *pbVar12;
  int iVar13;
  undefined1 uVar14;
  uint uVar15;
  uint uVar16;
  uint local_resc;
  undefined1 *local_90;
  uint local_8c;
  undefined1 local_88 [16];
  uint *local_78;
  uint local_74;
  uint local_70 [6];
  undefined4 local_58;
  byte abStack_54 [4];
  byte *local_50;
  int local_4c;
  uint **local_48;
  undefined1 **local_44;
  int local_40;
  uint local_3c;
  uint *local_38;
  uint local_34;
  undefined1 *local_30;
  undefined4 local_2c;
  
  local_4c = (int)param_6;
  uVar14 = (undefined1)(param_4 >> 0x18);
  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);
  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);
  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);
  iVar13 = *piVar9;
  if (iVar13 == 0) {
                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */
    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);
    puVar6[1] = 0;
    puVar6[2] = 0;
    puVar6[3] = 0;
    puVar2 = PTR__M_cache_004c2d20;
    puVar1 = PTR_vtable_004c13d4;
    *(undefined2 *)(puVar6 + 4) = 0;
    *(undefined1 *)((int)puVar6 + 0x12) = 0;
    puVar6[5] = 0;
    *puVar6 = puVar1 + 8;
    puVar6[6] = 0;
    puVar6[7] = 0;
    puVar6[8] = 0;
    puVar6[9] = 0;
    puVar6[10] = 0;
    puVar6[0xb] = 0;
    puVar6[0xc] = 0;
    puVar6[0xd] = 0;
                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */
    *(undefined1 *)((int)puVar6 + 0x43) = 0;
    (*(code *)puVar2)(puVar6,param_5 + 0x6c);
    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);
    iVar13 = *piVar9;
  }
  pbVar12 = (byte *)*param_7;
  local_resc = param_4;
  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {
    local_58 = *(undefined4 *)(iVar13 + 0x34);
    if (param_7[1] == 0) goto LAB_003c2b1c;
    local_40 = *(int *)(iVar13 + 0x24);
    pbVar12 = pbVar12 + 1;
    uVar15 = *(uint *)(iVar13 + 0x28);
  }
  else {
    local_58 = *(undefined4 *)(iVar13 + 0x30);
    local_40 = *(int *)(iVar13 + 0x1c);
    uVar15 = *(uint *)(iVar13 + 0x20);
  }
  pbVar10 = pbVar12 + param_7[1];
  if ((pbVar12 < pbVar10) &&
     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {
    do {
      pbVar7 = pbVar7 + 1;
      if (pbVar10 == pbVar7) {
        uVar11 = (int)pbVar10 - (int)pbVar12;
        goto joined_r0x003c2b0c;
      }
    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);
    uVar11 = (int)pbVar7 - (int)pbVar12;
joined_r0x003c2b0c:
    if (uVar11 != 0) {
      local_48 = &local_78;
      local_78 = local_70;
      local_74 = 0;
      local_70[0] = local_70[0] & 0xffffff;
      local_38 = local_78;
                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */
      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);
      iVar3 = *(int *)(iVar13 + 0x2c);
      uVar16 = uVar11 - iVar3;
      if (0 < (int)uVar16) {
        if (iVar3 < 0) {
          uVar16 = uVar11;
        }
        if (*(int *)(iVar13 + 0xc) == 0) {
                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */
          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);
          iVar3 = *(int *)(iVar13 + 0x2c);
        }
        else {
          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);
          puVar5 = (undefined1 *)
                   (*(code *)PTR___add_grouping<char>_004c2cf8)
                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),
                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);
          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {
            puVar6 = (undefined4 *)
                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)
                               (PTR_s__s_004c1a50 + -0xe00,
                                PTR_s_in_a_linker_script_004c191c + 0x3894);
            return puVar6;
          }
          *puVar5 = 0;
          iVar3 = *(int *)(iVar13 + 0x2c);
          local_74 = (int)puVar5 - (int)local_78;
        }
      }
      local_50 = (byte *)local_74;
      if (0 < iVar3) {
        local_44 = (undefined1 **)(local_74 + 1);
        local_3c = (uint)*(char *)(iVar13 + 0x11);
        uVar8 = 0xf;
        if (local_78 != local_38) {
          uVar8 = local_70[0];
        }
        if (uVar8 < local_44) {
          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);
        }
        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;
        local_74 = (uint)local_44;
        *(undefined1 *)((int)local_78 + (int)local_44) = 0;
        if ((int)uVar16 < 0) {
          (*(code *)PTR__M_replace_aux_004c258c)
                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));
          if (0x7fffffff - local_74 < uVar11) {
            puVar6 = (undefined4 *)
                     (*(code *)PTR___throw_length_error_004c1e74)
                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
            return puVar6;
          }
          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);
          local_50 = (byte *)local_74;
        }
        else {
          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {
                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */
            puVar6 = (undefined4 *)
                     (*(code *)PTR___throw_length_error_004c1e74)
                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,
                                pbVar12 + uVar16);
            return puVar6;
          }
                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */
          (*(code *)PTR__M_append_004c1e68)(local_48);
          local_50 = (byte *)local_74;
        }
      }
      local_48 = (uint **)(uVar15 + (int)local_50);
      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;
      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {
        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));
      }
      local_90 = local_88;
      local_44 = &local_90;
      local_8c = 0;
                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */
      local_88[0] = 0;
      local_74 = (uint)local_50;
      local_30 = local_90;
      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);
      uVar11 = *(uint *)(param_5 + 8);
      if (local_3c == 0x10) {
        local_34 = (uint)(local_48 < uVar11);
      }
      else {
        local_34 = 0;
      }
      local_50 = abStack_54;
      pbVar12 = (byte *)&local_58;
      local_48 = (uint **)(uVar11 - (int)local_48);
      local_2c = 0x7fffffff;
      do {
        if (*pbVar12 < 5) {
                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */
                    /* WARNING: Treating indirect jump as call */
          puVar6 = (undefined4 *)
                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.
                               user_set_via_option +
                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();
          return puVar6;
        }
        pbVar12 = pbVar12 + 1;
      } while (local_50 != pbVar12);
      uVar16 = local_8c;
      if (1 < uVar15) {
        if (0x7fffffff - local_8c < uVar15 - 1) {
          puVar6 = (undefined4 *)
                   (*(code *)PTR___throw_length_error_004c1e74)
                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);
          return puVar6;
        }
                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */
        (*(code *)PTR__M_append_004c1e68)(local_44);
        uVar16 = local_8c;
      }
      local_8c = uVar16;
      if (uVar16 < uVar11) {
        uVar15 = uVar16;
        if (local_3c != 0x20) {
          uVar15 = 0;
        }
        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);
        uVar16 = uVar11;
      }
      if (param_4 >> 0x18 == 0) {
        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);
        uVar14 = uVar15 != uVar16;
      }
      local_resc._1_3_ = (undefined3)param_4;
      local_resc = CONCAT13(uVar14,local_resc._1_3_);
      if (local_90 != local_30) {
        (*(code *)PTR_operator_delete_004c12fc)(local_90);
      }
      if (local_78 != local_38) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
    }
  }
LAB_003c2b1c:
  local_resc = CONCAT13(uVar14,local_resc._1_3_);
  *param_1 = param_3;
  *(undefined4 *)(param_5 + 8) = 0;
  param_1[1] = local_resc;
  return param_1;
}



/* std::ostreambuf_iterator<char, std::char_traits<char> > std::money_put<char,
   std::ostreambuf_iterator<char, std::char_traits<char> >
   >::_M_insert<false>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,
   char, std::string const&) const */

undefined4 *
std::money_put<char,std::ostreambuf_iterator<char,std::char_traits<char>>>::_M_insert<false>
          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6
          ,undefined4 *param_7)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  undefined1 *puVar5;
  undefined4 *puVar6;
  byte *pbVar7;
  uint uVar8;
  int *piVar9;
  byte *pbVar10;
  uint uVar11;
  byte *pbVar12;
  int iVar13;
  undefined1 uVar14;
  uint uVar15;
  uint uVar16;
  uint local_resc;
  undefined1 *local_90;
  uint local_8c;
  undefined1 local_88 [16];
  uint *local_78;
  uint local_74;
  uint local_70 [6];
  undefined4 local_58;
  byte abStack_54 [4];
  byte *local_50;
  int local_4c;
  uint **local_48;
  undefined1 **local_44;
  int local_40;
  uint local_3c;
  uint *local_38;
  uint local_34;
  undefined1 *local_30;
  undefined4 local_2c;
  
  local_4c = (int)param_6;
  uVar14 = (undefined1)(param_4 >> 0x18);
  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);
  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);
  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);
  iVar13 = *piVar9;
  if (iVar13 == 0) {
                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */
    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);
    puVar6[1] = 0;
    puVar6[2] = 0;
    puVar6[3] = 0;
    puVar2 = PTR__M_cache_004c2d20;
    puVar1 = PTR_vtable_004c13d4;
    *(undefined2 *)(puVar6 + 4) = 0;
    *(undefined1 *)((int)puVar6 + 0x12) = 0;
    puVar6[5] = 0;
    *puVar6 = puVar1 + 8;
    puVar6[6] = 0;
    puVar6[7] = 0;
    puVar6[8] = 0;
    puVar6[9] = 0;
    puVar6[10] = 0;
    puVar6[0xb] = 0;
    puVar6[0xc] = 0;
    puVar6[0xd] = 0;
                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */
    *(undefined1 *)((int)puVar6 + 0x43) = 0;
    (*(code *)puVar2)(puVar6,param_5 + 0x6c);
    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);
    iVar13 = *piVar9;
  }
  pbVar12 = (byte *)*param_7;
  local_resc = param_4;
  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {
    local_58 = *(undefined4 *)(iVar13 + 0x34);
    if (param_7[1] == 0) goto LAB_003c2b1c;
    local_40 = *(int *)(iVar13 + 0x24);
    pbVar12 = pbVar12 + 1;
    uVar15 = *(uint *)(iVar13 + 0x28);
  }
  else {
    local_58 = *(undefined4 *)(iVar13 + 0x30);
    local_40 = *(int *)(iVar13 + 0x1c);
    uVar15 = *(uint *)(iVar13 + 0x20);
  }
  pbVar10 = pbVar12 + param_7[1];
  if ((pbVar12 < pbVar10) &&
     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {
    do {
      pbVar7 = pbVar7 + 1;
      if (pbVar10 == pbVar7) {
        uVar11 = (int)pbVar10 - (int)pbVar12;
        goto joined_r0x003c2b0c;
      }
    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);
    uVar11 = (int)pbVar7 - (int)pbVar12;
joined_r0x003c2b0c:
    if (uVar11 != 0) {
      local_48 = &local_78;
      local_78 = local_70;
      local_74 = 0;
      local_70[0] = local_70[0] & 0xffffff;
      local_38 = local_78;
                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */
      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);
      iVar3 = *(int *)(iVar13 + 0x2c);
      uVar16 = uVar11 - iVar3;
      if (0 < (int)uVar16) {
        if (iVar3 < 0) {
          uVar16 = uVar11;
        }
        if (*(int *)(iVar13 + 0xc) == 0) {
                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */
          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);
          iVar3 = *(int *)(iVar13 + 0x2c);
        }
        else {
          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);
          puVar5 = (undefined1 *)
                   (*(code *)PTR___add_grouping<char>_004c2cf8)
                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),
                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);
          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {
            puVar6 = (undefined4 *)
                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)
                               (PTR_s__s_004c1a50 + -0xe00,
                                PTR_s_in_a_linker_script_004c191c + 0x3894);
            return puVar6;
          }
          *puVar5 = 0;
          iVar3 = *(int *)(iVar13 + 0x2c);
          local_74 = (int)puVar5 - (int)local_78;
        }
      }
      local_50 = (byte *)local_74;
      if (0 < iVar3) {
        local_44 = (undefined1 **)(local_74 + 1);
        local_3c = (uint)*(char *)(iVar13 + 0x11);
        uVar8 = 0xf;
        if (local_78 != local_38) {
          uVar8 = local_70[0];
        }
        if (uVar8 < local_44) {
          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);
        }
        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;
        local_74 = (uint)local_44;
        *(undefined1 *)((int)local_78 + (int)local_44) = 0;
        if ((int)uVar16 < 0) {
          (*(code *)PTR__M_replace_aux_004c258c)
                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));
          if (0x7fffffff - local_74 < uVar11) {
            puVar6 = (undefined4 *)
                     (*(code *)PTR___throw_length_error_004c1e74)
                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
            return puVar6;
          }
          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);
          local_50 = (byte *)local_74;
        }
        else {
          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {
                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */
            puVar6 = (undefined4 *)
                     (*(code *)PTR___throw_length_error_004c1e74)
                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,
                                pbVar12 + uVar16);
            return puVar6;
          }
                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */
          (*(code *)PTR__M_append_004c1e68)(local_48);
          local_50 = (byte *)local_74;
        }
      }
      local_48 = (uint **)(uVar15 + (int)local_50);
      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;
      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {
        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));
      }
      local_90 = local_88;
      local_44 = &local_90;
      local_8c = 0;
                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */
      local_88[0] = 0;
      local_74 = (uint)local_50;
      local_30 = local_90;
      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);
      uVar11 = *(uint *)(param_5 + 8);
      if (local_3c == 0x10) {
        local_34 = (uint)(local_48 < uVar11);
      }
      else {
        local_34 = 0;
      }
      local_50 = abStack_54;
      pbVar12 = (byte *)&local_58;
      local_48 = (uint **)(uVar11 - (int)local_48);
      local_2c = 0x7fffffff;
      do {
        if (*pbVar12 < 5) {
                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */
                    /* WARNING: Treating indirect jump as call */
          puVar6 = (undefined4 *)
                   (*(code *)(gold::Position_dependent_options::default_options_ +
                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();
          return puVar6;
        }
        pbVar12 = pbVar12 + 1;
      } while (local_50 != pbVar12);
      uVar16 = local_8c;
      if (1 < uVar15) {
        if (0x7fffffff - local_8c < uVar15 - 1) {
          puVar6 = (undefined4 *)
                   (*(code *)PTR___throw_length_error_004c1e74)
                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);
          return puVar6;
        }
                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */
        (*(code *)PTR__M_append_004c1e68)(local_44);
        uVar16 = local_8c;
      }
      local_8c = uVar16;
      if (uVar16 < uVar11) {
        uVar15 = uVar16;
        if (local_3c != 0x20) {
          uVar15 = 0;
        }
        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);
        uVar16 = uVar11;
      }
      if (param_4 >> 0x18 == 0) {
        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);
        uVar14 = uVar15 != uVar16;
      }
      local_resc._1_3_ = (undefined3)param_4;
      local_resc = CONCAT13(uVar14,local_resc._1_3_);
      if (local_90 != local_30) {
        (*(code *)PTR_operator_delete_004c12fc)(local_90);
      }
      if (local_78 != local_38) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
    }
  }
LAB_003c2b1c:
  local_resc = CONCAT13(uVar14,local_resc._1_3_);
  *param_1 = param_3;
  *(undefined4 *)(param_5 + 8) = 0;
  param_1[1] = local_resc;
  return param_1;
}


lui gp,0x10
addiu gp,gp,0x686c
addu gp,gp,t9
addiu sp,sp,-0xb0
lw t9,-0x65bc(gp)
lb v0,0xc7(sp)
sw s3,0x94(sp)
sw s7,0xa4(sp)
lw s3,0xc0(sp)
sw gp,0x18(sp)
sw ra,0xac(sp)
addiu s7,s3,0x6c
sw s8,0xa8(sp)
sw s6,0xa0(sp)
srl s6,a3,0x18
sw s5,0x9c(sp)
or s5,a2,zero
sw s4,0x98(sp)
or s4,a0,zero
sw s2,0x90(sp)
or a0,s7,zero
sw s1,0x8c(sp)
sw s0,0x88(sp)
sw a2,0xb8(sp)
sw a3,0xbc(sp)
jalr t9
_sw v0,0x64(sp)
lw gp,0x18(sp)
lw t9,-0x65cc(gp)
lw a0,-0x5f74(gp)
jalr t9
_or s8,v0,zero
lw v1,0x6c(s3)
or s1,v0,zero
sll v0,v0,0x2
lw s0,0xc(v1)
addu s0,s0,v0
lw s2,0x0(s0)
beq s2,zero,0x003c2f90
_lw gp,0x18(sp)
lw v0,0xc8(sp)
lw v1,0xc8(sp)
lw s1,0x0(v0)
lw s0,0x4(v1)
lb v0,0x38(s2)
lb v1,0x0(s1)
beq v1,v0,0x003c2ce4
_nop
lw v0,0x30(s2)
lw v1,0x1c(s2)
lw s7,0x20(s2)
sw v0,0x58(sp)
sw v1,0x70(sp)
addu s0,s1,s0
sltu v0,s1,s0
beq v0,zero,0x003c2b18
_lw ra,0xac(sp)
lbu v0,0x0(s1)
lw a0,0x18(s8)
sll v0,v0,0x1
addu v0,a0,v0
lhu v0,0x0(v0)
andi v0,v0,0x8
beq v0,zero,0x003c2b1c
_lw s8,0xa8(sp)
b 0x003c2afc
_or v1,s1,zero
lbu v0,0x0(v1)
sll v0,v0,0x1
addu v0,a0,v0
lhu v0,0x0(v0)
andi v0,v0,0x8
beq v0,zero,0x003c2b60
_nop
addiu v1,v1,0x1
bne s0,v1,0x003c2ae0
_nop
subu s0,s0,s1
bne s0,zero,0x003c2b74
_addiu v0,sp,0x38
lw ra,0xac(sp)
lw s8,0xa8(sp)
lw s7,0xa4(sp)
lw s2,0x90(sp)
lw s1,0x8c(sp)
lw s0,0x88(sp)
sb s6,0xbc(sp)
sw s5,0xb8(sp)
sw s5,0x0(s4)
sw zero,0x8(s3)
lw v0,0xbc(sp)
lw s6,0xa0(sp)
lw s5,0x9c(sp)
lw s3,0x94(sp)
sw v0,0x4(s4)
or v0,s4,zero
lw s4,0x98(sp)
jr ra
_addiu sp,sp,0xb0
or s0,v1,zero
subu s0,s0,s1
beq s0,zero,0x003c2b18
_lw ra,0xac(sp)
addiu v0,sp,0x38
lw t9,-0x6de8(gp)
addiu v1,sp,0x40
sw zero,0x3c(sp)
sll a1,s0,0x1
sb zero,0x40(sp)
sw v1,0x78(sp)
or a0,v0,zero
sw v1,0x38(sp)
jalr t9
_sw v0,0x68(sp)
lw v0,0x2c(s2)
subu s8,s0,v0
blez s8,0x003c2c24
_lw gp,0x18(sp)
lw v1,0xc(s2)
slti v0,v0,0x0
movn s8,s0,v0
beq v1,zero,0x003c3030
_lw a2,0x3c(sp)
lw t9,-0x6cb4(gp)
sll a3,s8,0x1
lw a0,0x68(sp)
or a1,zero,zero
jalr t9
_sw zero,0x10(sp)
lw gp,0x18(sp)
addu v0,s1,s8
lw a3,0xc(s2)
lw a2,0x8(s2)
lb a1,0x12(s2)
lw t9,-0x6548(gp)
lw a0,0x38(sp)
sw v0,0x14(sp)
jalr t9
_sw s1,0x10(sp)
lw a2,0x38(sp)
lw a3,0x3c(sp)
subu a2,v0,a2
sltu v1,a3,a2
bne v1,zero,0x003c30dc
_lw gp,0x18(sp)
sw a2,0x3c(sp)
sb zero,0x0(v0)
lw v0,0x2c(s2)
lw v1,0x3c(sp)
bgtz v0,0x003c2ea0
_sw v1,0x60(sp)
lw v1,0x60(sp)
lw v0,0xc(s3)
addu a0,s7,v1
andi v1,v0,0x200
andi v0,v0,0xb0
sw a0,0x68(sp)
bne v1,zero,0x003c2e90
_sw v0,0x74(sp)
lw v1,0x68(sp)
addiu v0,sp,0x28
addiu a0,sp,0x20
lw t9,-0x6de8(gp)
sw v0,0x80(sp)
sll a1,v1,0x1
sw a0,0x6c(sp)
sw zero,0x24(sp)
sw v0,0x20(sp)
jalr t9
_sb zero,0x28(sp)
lw v1,0x74(sp)
li v0,0x10
lw gp,0x18(sp)
beq v1,v0,0x003c3020
_lw s1,0x8(s3)
sw zero,0x7c(sp)
addiu v0,sp,0x5c
addiu s0,sp,0x58
sw v0,0x60(sp)
lw v0,-0x7f64(gp)
addiu s8,v0,-0xa8c
lw v0,0x68(sp)
subu v0,s1,v0
sw v0,0x68(sp)
lui v0,0x7fff
ori v0,v0,0xffff
sw v0,0x84(sp)
lbu v0,0x0(s0)
sltiu v1,v0,0x5
beq v1,zero,0x003c2d24
_sll v0,v0,0x2
addu v0,s8,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
lw v0,0x34(s2)
beq s0,zero,0x003c2b14
_sw v0,0x58(sp)
lw v0,0x24(s2)
addiu s1,s1,0x1
lw s7,0x28(s2)
b 0x003c2aa8
_sw v0,0x70(sp)
beq s7,zero,0x003c2d28
_lw v0,0x60(sp)
lw v0,0x70(sp)
lw a0,0x6c(sp)
lw t9,-0x5f78(gp)
jalr t9
_lb a1,0x0(v0)
lw gp,0x18(sp)
lw v0,0x60(sp)
addiu s0,s0,0x1
bne v0,s0,0x003c2cc0
_sltiu v0,s7,0x2
beq v0,zero,0x003c2f38
_lw a1,0x24(sp)
sltu v0,a1,s1
bne v0,zero,0x003c2e60
_lw v1,0x74(sp)
or s1,a1,zero
bne s6,zero,0x003c2d78
_lw a1,0x20(sp)
lw v0,0x0(s5)
or a2,s1,zero
lw t9,0x30(v0)
jalr t9
_or a0,s5,zero
lw gp,0x18(sp)
xor v0,v0,s1
lw a1,0x20(sp)
sltu s6,zero,v0
lw v0,0x80(sp)
sw s5,0xb8(sp)
beq a1,v0,0x003c2d98
_sb s6,0xbc(sp)
lw t9,-0x7f44(gp)
jalr t9
_or a0,a1,zero
lw gp,0x18(sp)
lw a0,0x38(sp)
lw v0,0x78(sp)
beq a0,v0,0x003c2b14
_lw t9,-0x7f44(gp)
jalr t9
_nop
b 0x003c2b18
_lw ra,0xac(sp)
lw v0,0xc(s3)
andi v0,v0,0x200
beq v0,zero,0x003c2d28
_lw v0,0x60(sp)
lw v0,0x24(sp)
lw v1,0x84(sp)
lw a2,0x18(s2)
subu v0,v1,v0
sltu v0,v0,a2
bne v0,zero,0x003c3104
_lw a1,0x14(s2)
lw t9,-0x73d8(gp)
jalr t9
_lw a0,0x6c(sp)
b 0x003c2d24
_lw gp,0x18(sp)
lw v0,0x7c(sp)
beq v0,zero,0x003c2f7c
_lw t9,-0x5f78(gp)
lw v0,0x64(sp)
or a2,zero,zero
lw a1,0x24(sp)
lw t9,-0x6cb4(gp)
lw a3,0x68(sp)
lw a0,0x6c(sp)
jalr t9
_sw v0,0x10(sp)
b 0x003c2d24
_lw gp,0x18(sp)
lw v0,0x7c(sp)
beq v0,zero,0x003c2d24
_lw v0,0x64(sp)
b 0x003c2e0c
_or a2,zero,zero
lw a2,0x3c(sp)
lw a0,0x6c(sp)
lw t9,-0x73d8(gp)
jalr t9
_lw a1,0x38(sp)
b 0x003c2d24
_lw gp,0x18(sp)
lw v1,0x74(sp)
li v0,0x20
subu a3,s1,a1
lw t9,-0x6cb4(gp)
beq v1,v0,0x003c2e78
_or a2,zero,zero
or a1,zero,zero
lw v0,0x64(sp)
lw a0,0x6c(sp)
jalr t9
_sw v0,0x10(sp)
b 0x003c2d4c
_lw gp,0x18(sp)
lw v0,0x18(s2)
addu v0,a0,v0
b 0x003c2c50
_sw v0,0x68(sp)
addiu v1,v1,0x1
lw v0,0x38(sp)
sw v1,0x6c(sp)
lb v1,0x11(s2)
sw v1,0x74(sp)
lw v1,0x78(sp)
beq v0,v1,0x003c2ec4
_li v1,0xf
lw v1,0x40(sp)
lw a0,0x6c(sp)
sltu v1,v1,a0
bne v1,zero,0x003c30b4
_lw t9,-0x71b0(gp)
lw v1,0x60(sp)
addu v0,v0,v1
lw v1,0x74(sp)
sb v1,0x0(v0)
lw v0,0x38(sp)
lw v1,0x6c(sp)
addu v0,v0,v1
sw v1,0x3c(sp)
bltz s8,0x003c3054
_sb zero,0x0(v0)
lui v0,0x7fff
lw v1,0x3c(sp)
lw a2,0x2c(s2)
ori v0,v0,0xffff
subu v0,v0,v1
sltu v0,v0,a2
bne v0,zero,0x003c3124
_addu a1,s1,s8
lw t9,-0x73d8(gp)
jalr t9
_lw a0,0x68(sp)
lw v0,0x3c(sp)
lw gp,0x18(sp)
b 0x003c2c30
_sw v0,0x60(sp)
lui v0,0x7fff
lw v1,0x70(sp)
addiu a2,s7,-0x1
ori v0,v0,0xffff
subu v0,v0,a1
sltu v0,v0,a2
bne v0,zero,0x003c3114
_addiu a1,v1,0x1
lw t9,-0x73d8(gp)
jalr t9
_lw a0,0x6c(sp)
lw a1,0x24(sp)
sltu v0,a1,s1
bne v0,zero,0x003c2e5c
_lw gp,0x18(sp)
b 0x003c2d4c
_or s1,a1,zero
lw a1,0x64(sp)
jalr t9
_lw a0,0x6c(sp)
b 0x003c2d24
_lw gp,0x18(sp)
lw t9,-0x7e98(gp)
jalr t9
_li a0,0x44
lw gp,0x18(sp)
or s2,v0,zero
sw zero,0x4(v0)
or a0,v0,zero
sw zero,0x8(v0)
or a1,s7,zero
sw zero,0xc(v0)
lw v0,-0x7e6c(gp)
lw t9,-0x6520(gp)
sh zero,0x10(s2)
addiu v0,v0,0x8
sb zero,0x12(s2)
sw zero,0x14(s2)
sw v0,0x0(s2)
sw zero,0x18(s2)
sw zero,0x1c(s2)
sw zero,0x20(s2)
sw zero,0x24(s2)
sw zero,0x28(s2)
sw zero,0x2c(s2)
sw zero,0x30(s2)
sw zero,0x34(s2)
jalr t9
_sb zero,0x43(s2)
lw gp,0x18(sp)
or a1,s2,zero
lw a0,0x6c(s3)
lw t9,-0x6528(gp)
jalr t9
_or a2,s1,zero
lw gp,0x18(sp)
b 0x003c2a74
_lw s2,0x0(s0)
lw v0,0x68(sp)
sltu v0,v0,s1
b 0x003c2c94
_sw v0,0x7c(sp)
lw t9,-0x71a0(gp)
or a1,zero,zero
lw a0,0x68(sp)
or a3,s1,zero
jalr t9
_sw s8,0x10(sp)
lw gp,0x18(sp)
b 0x003c2c24
_lw v0,0x2c(s2)
lb v0,0x39(s2)
subu a3,zero,s8
lw a1,0x3c(sp)
or a2,zero,zero
lw t9,-0x6cb4(gp)
lw a0,0x68(sp)
jalr t9
_sw v0,0x10(sp)
lui v0,0x7fff
lw v1,0x3c(sp)
ori v0,v0,0xffff
subu v0,v0,v1
sltu v0,v0,s0
bne v0,zero,0x003c30f4
_lw gp,0x18(sp)
lw t9,-0x73d8(gp)
or a2,s0,zero
lw a0,0x68(sp)
jalr t9
_or a1,s1,zero
lw v0,0x3c(sp)
lw gp,0x18(sp)
b 0x003c2c30
_sw v0,0x60(sp)
li v0,0x1
lw a1,0x60(sp)
or a3,zero,zero
lw a0,0x68(sp)
or a2,zero,zero
jalr t9
_sw v0,0x10(sp)
lw gp,0x18(sp)
b 0x003c2ed4
_lw v0,0x38(sp)
lw a1,-0x7924(gp)
lw a0,-0x77f0(gp)
lw t9,-0x6fe4(gp)
addiu a1,a1,0x3894
jalr t9
_addiu a0,a0,-0xe00
lw a0,-0x7fc4(gp)
lw t9,-0x73cc(gp)
jalr t9
_addiu a0,a0,0x446c
lw a0,-0x7fc4(gp)
lw t9,-0x73cc(gp)
jalr t9
_addiu a0,a0,0x446c
lw a0,-0x7fc4(gp)
lw t9,-0x73cc(gp)
jalr t9
_addiu a0,a0,0x446c
lw a0,-0x7fc4(gp)
lw t9,-0x73cc(gp)
jalr t9
_addiu a0,a0,0x446c
(translation_unit "/* std::ostreambuf_iterator<char, std::char_traits<char> > std::money_put<char,\n   std::ostreambuf_iterator<char, std::char_traits<char> >\n   >::_M_insert<false>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,\n   char, std::string const&) const */\n\nundefined4 *\nstd::money_put<char,std::ostreambuf_iterator<char,std::char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined4 *puVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int *piVar9;\n  byte *pbVar10;\n  uint uVar11;\n  byte *pbVar12;\n  int iVar13;\n  undefined1 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint local_resc;\n  undefined1 *local_90;\n  uint local_8c;\n  undefined1 local_88 [16];\n  uint *local_78;\n  uint local_74;\n  uint local_70 [6];\n  undefined4 local_58;\n  byte abStack_54 [4];\n  byte *local_50;\n  int local_4c;\n  uint **local_48;\n  undefined1 **local_44;\n  int local_40;\n  uint local_3c;\n  uint *local_38;\n  uint local_34;\n  undefined1 *local_30;\n  undefined4 local_2c;\n  \n  local_4c = (int)param_6;\n  uVar14 = (undefined1)(param_4 >> 0x18);\n  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);\n  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);\n  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);\n  iVar13 = *piVar9;\n  if (iVar13 == 0) {\n                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */\n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */\n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }\n  pbVar12 = (byte *)*param_7;\n  local_resc = param_4;\n  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }\n  pbVar10 = pbVar12 + param_7[1];\n  if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }\nLAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);\n  *param_1 = param_3;\n  *(undefined4 *)(param_5 + 8) = 0;\n  param_1[1] = local_resc;\n  return param_1;\n}\n\n" comment (ERROR "undefined4 *\nstd::money_put<char," (binary_expression "undefined4 *\nstd::money_put<char" (binary_expression "undefined4 *\nstd" identifier * identifier) (ERROR "::money_put" : : identifier) < identifier) ,) (labeled_statement "std::ostreambuf_iterator<char,std::char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" statement_identifier (ERROR "::ostreambuf_iterator<char,std:" : : (comma_expression "ostreambuf_iterator<char,std" (binary_expression "ostreambuf_iterator<char" identifier < identifier) , identifier) :) : (expression_statement "char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (binary_expression "char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (binary_expression "char_traits<char>>>::_M_insert<false" (binary_expression "char_traits<char>>>::_M_insert" identifier < (binary_expression "char>>>::_M_insert" identifier >> (ERROR ">::" > : :) identifier)) < false) > (parenthesized_expression "(undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" ( (comma_expression "undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" (binary_expression "undefined4 *param_1" identifier * identifier) , (comma_expression "undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" identifier (ERROR "param_2" identifier) , (comma_expression "int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" (binary_expression "int *param_3" identifier * identifier) , (ERROR "uint" identifier) (comma_expression "param_4,int param_5,char param_6\n          ,undefined4 *param_7" identifier , (ERROR "int" identifier) (comma_expression "param_5,char param_6\n          ,undefined4 *param_7" identifier , (ERROR "char" identifier) (comma_expression "param_6\n          ,undefined4 *param_7" identifier , (binary_expression "undefined4 *param_7" identifier * identifier))))))) ))) ;)) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined4 *puVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int *piVar9;\n  byte *pbVar10;\n  uint uVar11;\n  byte *pbVar12;\n  int iVar13;\n  undefined1 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint local_resc;\n  undefined1 *local_90;\n  uint local_8c;\n  undefined1 local_88 [16];\n  uint *local_78;\n  uint local_74;\n  uint local_70 [6];\n  undefined4 local_58;\n  byte abStack_54 [4];\n  byte *local_50;\n  int local_4c;\n  uint **local_48;\n  undefined1 **local_44;\n  int local_40;\n  uint local_3c;\n  uint *local_38;\n  uint local_34;\n  undefined1 *local_30;\n  undefined4 local_2c;\n  \n  local_4c = (int)param_6;\n  uVar14 = (undefined1)(param_4 >> 0x18);\n  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);\n  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);\n  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);\n  iVar13 = *piVar9;\n  if (iVar13 == 0) {\n                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */\n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */\n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }\n  pbVar12 = (byte *)*param_7;\n  local_resc = param_4;\n  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }\n  pbVar10 = pbVar12 + param_7[1];\n  if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }\nLAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);\n  *param_1 = param_3;\n  *(undefined4 *)(param_5 + 8) = 0;\n  param_1[1] = local_resc;\n  return param_1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined1 uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint local_resc;" type_identifier identifier ;) (declaration "undefined1 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "undefined1 local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "uint *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70 [6];" type_identifier (array_declarator "local_70 [6]" identifier [ number_literal ]) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "byte abStack_54 [4];" type_identifier (array_declarator "abStack_54 [4]" identifier [ number_literal ]) ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "undefined1 **local_44;" type_identifier (pointer_declarator "**local_44" * (pointer_declarator "*local_44" * identifier)) ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "undefined1 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (expression_statement "local_4c = (int)param_6;" (assignment_expression "local_4c = (int)param_6" identifier = (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar14 = (undefined1)(param_4 >> 0x18);" (assignment_expression "uVar14 = (undefined1)(param_4 >> 0x18)" identifier = (call_expression "(undefined1)(param_4 >> 0x18)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "(param_4 >> 0x18)" ( (binary_expression "param_4 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);" (assignment_expression "iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c)" identifier = (call_expression "(*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c)" (parenthesized_expression "(*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)" ( (binary_expression "*(code *)PTR_use_facet<std_ctype<char>>_004c2c84" (binary_expression "*(code *)PTR_use_facet<std_ctype" (pointer_expression "*(code *)PTR_use_facet" * (cast_expression "(code *)PTR_use_facet" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) < (binary_expression "char>>_004c2c84" identifier >> identifier)) )) (argument_list "(param_5 + 0x6c)" ( (binary_expression "param_5 + 0x6c" identifier + number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc)" identifier = (call_expression "(*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc)" (parenthesized_expression "(*(code *)PTR__M_id_004c2c74)" ( (pointer_expression "*(code *)PTR__M_id_004c2c74" * (cast_expression "(code *)PTR__M_id_004c2c74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_004c32cc)" ( identifier )))) ;) (expression_statement "piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);" (assignment_expression "piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" identifier = (cast_expression "(int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" ( (binary_expression "*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4" (pointer_expression "*(int *)(*(int *)(param_5 + 0x6c) + 0xc)" * (cast_expression "(int *)(*(int *)(param_5 + 0x6c) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_5 + 0x6c) + 0xc)" ( (binary_expression "*(int *)(param_5 + 0x6c) + 0xc" (pointer_expression "*(int *)(param_5 + 0x6c)" * (cast_expression "(int *)(param_5 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x6c)" ( (binary_expression "param_5 + 0x6c" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar13 = *piVar9;" (assignment_expression "iVar13 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (iVar13 == 0) {\n                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */\n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */\n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */\n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */\n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }" { comment (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x44)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x44)" ( number_literal ))))) ;) (expression_statement "puVar6[1] = 0;" (assignment_expression "puVar6[1] = 0" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[2] = 0;" (assignment_expression "puVar6[2] = 0" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = PTR__M_cache_004c2d20;" (assignment_expression "puVar2 = PTR__M_cache_004c2d20" identifier = identifier) ;) (expression_statement "puVar1 = PTR_vtable_004c13d4;" (assignment_expression "puVar1 = PTR_vtable_004c13d4" identifier = identifier) ;) (expression_statement "*(undefined2 *)(puVar6 + 4) = 0;" (assignment_expression "*(undefined2 *)(puVar6 + 4) = 0" (pointer_expression "*(undefined2 *)(puVar6 + 4)" * (cast_expression "(undefined2 *)(puVar6 + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar6 + 0x12) = 0;" (assignment_expression "*(undefined1 *)((int)puVar6 + 0x12) = 0" (pointer_expression "*(undefined1 *)((int)puVar6 + 0x12)" * (cast_expression "(undefined1 *)((int)puVar6 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x12)" ( (binary_expression "(int)puVar6 + 0x12" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar6 = puVar1 + 8;" (assignment_expression "*puVar6 = puVar1 + 8" (pointer_expression "*puVar6" * identifier) = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar6[6] = 0;" (assignment_expression "puVar6[6] = 0" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[7] = 0;" (assignment_expression "puVar6[7] = 0" (subscript_expression "puVar6[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[8] = 0;" (assignment_expression "puVar6[8] = 0" (subscript_expression "puVar6[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[9] = 0;" (assignment_expression "puVar6[9] = 0" (subscript_expression "puVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[10] = 0;" (assignment_expression "puVar6[10] = 0" (subscript_expression "puVar6[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xb] = 0;" (assignment_expression "puVar6[0xb] = 0" (subscript_expression "puVar6[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xc] = 0;" (assignment_expression "puVar6[0xc] = 0" (subscript_expression "puVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xd] = 0;" (assignment_expression "puVar6[0xd] = 0" (subscript_expression "puVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "*(undefined1 *)((int)puVar6 + 0x43) = 0;" (assignment_expression "*(undefined1 *)((int)puVar6 + 0x43) = 0" (pointer_expression "*(undefined1 *)((int)puVar6 + 0x43)" * (cast_expression "(undefined1 *)((int)puVar6 + 0x43)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x43)" ( (binary_expression "(int)puVar6 + 0x43" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)puVar2)(puVar6,param_5 + 0x6c);" (call_expression "(*(code *)puVar2)(puVar6,param_5 + 0x6c)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,param_5 + 0x6c)" ( identifier , (binary_expression "param_5 + 0x6c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);" (call_expression "(*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4)" (parenthesized_expression "(*(code *)PTR__M_install_cache_004c2d18)" ( (pointer_expression "*(code *)PTR__M_install_cache_004c2d18" * (cast_expression "(code *)PTR__M_install_cache_004c2d18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4)" ( (pointer_expression "*(undefined4 *)(param_5 + 0x6c)" * (cast_expression "(undefined4 *)(param_5 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x6c)" ( (binary_expression "param_5 + 0x6c" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "iVar13 = *piVar9;" (assignment_expression "iVar13 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) })) (expression_statement "pbVar12 = (byte *)*param_7;" (assignment_expression "pbVar12 = (byte *)*param_7" identifier = (cast_expression "(byte *)*param_7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (if_statement "if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" if (parenthesized_expression "(*pbVar12 == *(byte *)(iVar13 + 0x38))" ( (binary_expression "*pbVar12 == *(byte *)(iVar13 + 0x38)" (pointer_expression "*pbVar12" * identifier) == (pointer_expression "*(byte *)(iVar13 + 0x38)" * (cast_expression "(byte *)(iVar13 + 0x38)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }" { (expression_statement "local_58 = *(undefined4 *)(iVar13 + 0x34);" (assignment_expression "local_58 = *(undefined4 *)(iVar13 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(iVar13 + 0x34)" * (cast_expression "(undefined4 *)(iVar13 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x34)" ( (binary_expression "iVar13 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (param_7[1] == 0) goto LAB_003c2b1c;" if (parenthesized_expression "(param_7[1] == 0)" ( (binary_expression "param_7[1] == 0" (subscript_expression "param_7[1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_003c2b1c;" goto statement_identifier ;)) (expression_statement "local_40 = *(int *)(iVar13 + 0x24);" (assignment_expression "local_40 = *(int *)(iVar13 + 0x24)" identifier = (pointer_expression "*(int *)(iVar13 + 0x24)" * (cast_expression "(int *)(iVar13 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x24)" ( (binary_expression "iVar13 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar15 = *(uint *)(iVar13 + 0x28);" (assignment_expression "uVar15 = *(uint *)(iVar13 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar13 + 0x28)" * (cast_expression "(uint *)(iVar13 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" else (compound_statement "{\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" { (expression_statement "local_58 = *(undefined4 *)(iVar13 + 0x30);" (assignment_expression "local_58 = *(undefined4 *)(iVar13 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar13 + 0x30)" * (cast_expression "(undefined4 *)(iVar13 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(int *)(iVar13 + 0x1c);" (assignment_expression "local_40 = *(int *)(iVar13 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(iVar13 + 0x20);" (assignment_expression "uVar15 = *(uint *)(iVar13 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar13 + 0x20)" * (cast_expression "(uint *)(iVar13 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) ))))) ;) }))) (expression_statement "pbVar10 = pbVar12 + param_7[1];" (assignment_expression "pbVar10 = pbVar12 + param_7[1]" identifier = (binary_expression "pbVar12 + param_7[1]" identifier + (subscript_expression "param_7[1]" identifier [ number_literal ]))) ;) (if_statement "if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }" if (parenthesized_expression "((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0))" ( (binary_expression "(pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)" (parenthesized_expression "(pbVar12 < pbVar10)" ( (binary_expression "pbVar12 < pbVar10" identifier < identifier) )) && (parenthesized_expression "(pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)" ( (comma_expression "pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0" (assignment_expression "pbVar7 = pbVar12" identifier = identifier) , (binary_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8)" ( (binary_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8" (pointer_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" * (cast_expression "(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" ( (binary_expression "*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) + (binary_expression "(uint)*pbVar12 * 2" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }" { (do_statement "do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);" do (compound_statement "{\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    }" { (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }" if (parenthesized_expression "(pbVar10 == pbVar7)" ( (binary_expression "pbVar10 == pbVar7" identifier == identifier) )) (compound_statement "{\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }" { (expression_statement "uVar11 = (int)pbVar10 - (int)pbVar12;" (assignment_expression "uVar11 = (int)pbVar10 - (int)pbVar12" identifier = (binary_expression "(int)pbVar10 - (int)pbVar12" (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto joined_r0x003c2b0c;" goto statement_identifier ;) })) }) while (parenthesized_expression "((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0)" ( (binary_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8)" ( (binary_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8" (pointer_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" * (cast_expression "(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" ( (binary_expression "*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) + (binary_expression "(uint)*pbVar7 * 2" (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) ;) (expression_statement "uVar11 = (int)pbVar7 - (int)pbVar12;" (assignment_expression "uVar11 = (int)pbVar7 - (int)pbVar12" identifier = (binary_expression "(int)pbVar7 - (int)pbVar12" (cast_expression "(int)pbVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (labeled_statement "joined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" statement_identifier : (if_statement "if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" { (expression_statement "local_48 = &local_78;" (assignment_expression "local_48 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "local_78 = local_70;" (assignment_expression "local_78 = local_70" identifier = identifier) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70[0] = local_70[0] & 0xffffff;" (assignment_expression "local_70[0] = local_70[0] & 0xffffff" (subscript_expression "local_70[0]" identifier [ number_literal ]) = (binary_expression "local_70[0] & 0xffffff" (subscript_expression "local_70[0]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_38 = local_78;" (assignment_expression "local_38 = local_78" identifier = identifier) ;) comment (expression_statement "(*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);" (call_expression "(*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1)" (parenthesized_expression "(*(code *)PTR_reserve_004c2458)" ( (pointer_expression "*(code *)PTR_reserve_004c2458" * (cast_expression "(code *)PTR_reserve_004c2458" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,uVar11 << 1)" ( identifier , (binary_expression "uVar11 << 1" identifier << number_literal) ))) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x2c)" * (cast_expression "(int *)(iVar13 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = uVar11 - iVar3;" (assignment_expression "uVar16 = uVar11 - iVar3" identifier = (binary_expression "uVar11 - iVar3" identifier - identifier)) ;) (if_statement "if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }" if (parenthesized_expression "(0 < (int)uVar16)" ( (binary_expression "0 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }" { (if_statement "if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n          uVar16 = uVar11;\n        }" { (expression_statement "uVar16 = uVar11;" (assignment_expression "uVar16 = uVar11" identifier = identifier) ;) })) (if_statement "if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" if (parenthesized_expression "(*(int *)(iVar13 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar13 + 0xc) == 0" (pointer_expression "*(int *)(iVar13 + 0xc)" * (cast_expression "(int *)(iVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }" { comment (expression_statement "(*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,0,local_74,pbVar12,uVar16)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x2c)" * (cast_expression "(int *)(iVar13 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" else (compound_statement "{\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" { (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0)" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" ( (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" * (cast_expression "(code *)PTR__M_replace_aux_004c258c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,0,local_74,uVar16 << 1,0)" ( identifier , number_literal , identifier , (binary_expression "uVar16 << 1" identifier << number_literal) , number_literal ))) ;) (expression_statement "puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);" (assignment_expression "puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" identifier = (cast_expression "(undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" (parenthesized_expression "(*(code *)PTR___add_grouping<char>_004c2cf8)" ( (binary_expression "*(code *)PTR___add_grouping<char>_004c2cf8" (binary_expression "*(code *)PTR___add_grouping<char" (pointer_expression "*(code *)PTR___add_grouping" * (cast_expression "(code *)PTR___add_grouping" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) > identifier) )) (argument_list "(local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" ( identifier , (cast_expression "(int)*(char *)(iVar13 + 0x12)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(iVar13 + 0x12)" * (cast_expression "(char *)(iVar13 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x12)" ( (binary_expression "iVar13 + 0x12" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar13 + 8)" * (cast_expression "(undefined4 *)(iVar13 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar13 + 0xc)" * (cast_expression "(undefined4 *)(iVar13 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) )))) , identifier , (binary_expression "pbVar12 + uVar16" identifier + identifier) ))))) ;) (if_statement "if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }" if (parenthesized_expression "(local_74 < (uint)((int)puVar5 - (int)local_78))" ( (binary_expression "local_74 < (uint)((int)puVar5 - (int)local_78)" identifier < (call_expression "(uint)((int)puVar5 - (int)local_78)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar5 - (int)local_78)" ( (binary_expression "(int)puVar5 - (int)local_78" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }" { (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" (parenthesized_expression "(*(code *)PTR___throw_out_of_range_fmt_004c225c)" ( (pointer_expression "*(code *)PTR___throw_out_of_range_fmt_004c225c" * (cast_expression "(code *)PTR___throw_out_of_range_fmt_004c225c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" ( (binary_expression "PTR_s__s_004c1a50 + -0xe00" identifier + number_literal) , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3894" identifier + number_literal) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x2c)" * (cast_expression "(int *)(iVar13 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "local_74 = (int)puVar5 - (int)local_78;" (assignment_expression "local_74 = (int)puVar5 - (int)local_78" identifier = (binary_expression "(int)puVar5 - (int)local_78" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) })) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" identifier = (cast_expression "(byte *)local_74" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }" { (expression_statement "local_44 = (undefined1 **)(local_74 + 1);" (assignment_expression "local_44 = (undefined1 **)(local_74 + 1)" identifier = (cast_expression "(undefined1 **)(local_74 + 1)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_74 + 1)" ( (binary_expression "local_74 + 1" identifier + number_literal) )))) ;) (expression_statement "local_3c = (uint)*(char *)(iVar13 + 0x11);" (assignment_expression "local_3c = (uint)*(char *)(iVar13 + 0x11)" identifier = (binary_expression "(uint)*(char *)(iVar13 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(iVar13 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x11)" ( (binary_expression "iVar13 + 0x11" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = 0xf;" (assignment_expression "uVar8 = 0xf" identifier = number_literal) ;) (if_statement "if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }" if (parenthesized_expression "(local_78 != local_38)" ( (binary_expression "local_78 != local_38" identifier != identifier) )) (compound_statement "{\n          uVar8 = local_70[0];\n        }" { (expression_statement "uVar8 = local_70[0];" (assignment_expression "uVar8 = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) })) (if_statement "if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }" if (parenthesized_expression "(uVar8 < local_44)" ( (binary_expression "uVar8 < local_44" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }" { (expression_statement "(*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" ( (pointer_expression "*(code *)PTR__M_mutate_004c2090" * (cast_expression "(code *)PTR__M_mutate_004c2090" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,local_74,0,0,1)" ( identifier , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(char *)((int)local_78 + (int)local_50) = (char)local_3c;" (assignment_expression "*(char *)((int)local_78 + (int)local_50) = (char)local_3c" (pointer_expression "*(char *)((int)local_78 + (int)local_50)" * (cast_expression "(char *)((int)local_78 + (int)local_50)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_78 + (int)local_50)" ( (binary_expression "(int)local_78 + (int)local_50" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (cast_expression "(char)local_3c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "local_74 = (uint)local_44;" (assignment_expression "local_74 = (uint)local_44" identifier = (cast_expression "(uint)local_44" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)local_78 + (int)local_44) = 0;" (assignment_expression "*(undefined1 *)((int)local_78 + (int)local_44) = 0" (pointer_expression "*(undefined1 *)((int)local_78 + (int)local_44)" * (cast_expression "(undefined1 *)((int)local_78 + (int)local_44)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_78 + (int)local_44)" ( (binary_expression "(int)local_78 + (int)local_44" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (if_statement "if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" if (parenthesized_expression "((int)uVar16 < 0)" ( (binary_expression "(int)uVar16 < 0" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }" { (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39))" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" ( (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" * (cast_expression "(code *)PTR__M_replace_aux_004c258c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39))" ( identifier , identifier , number_literal , (unary_expression "-uVar16" - identifier) , (cast_expression "(int)*(char *)(iVar13 + 0x39)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(iVar13 + 0x39)" * (cast_expression "(char *)(iVar13 + 0x39)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x39)" ( (binary_expression "iVar13 + 0x39" identifier + number_literal) ))))) ))) ;) (if_statement "if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }" if (parenthesized_expression "(0x7fffffff - local_74 < uVar11)" ( (binary_expression "0x7fffffff - local_74 < uVar11" (binary_expression "0x7fffffff - local_74" number_literal - identifier) < identifier) )) (compound_statement "{\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }" { (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,pbVar12,uVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" identifier = (cast_expression "(byte *)local_74" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" else (compound_statement "{\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" { (if_statement "if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }" if (parenthesized_expression "(0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c))" ( (binary_expression "0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)" (binary_expression "0x7fffffffU - (int)local_44" number_literal - (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier)) < (pointer_expression "*(uint *)(iVar13 + 0x2c)" * (cast_expression "(uint *)(iVar13 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }" { comment (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) , (binary_expression "pbVar12 + uVar16" identifier + identifier) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) comment (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_48);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_48)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48)" ( identifier ))) ;) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" identifier = (cast_expression "(byte *)local_74" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) })) (expression_statement "local_48 = (uint **)(uVar15 + (int)local_50);" (assignment_expression "local_48 = (uint **)(uVar15 + (int)local_50)" identifier = (cast_expression "(uint **)(uVar15 + (int)local_50)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar15 + (int)local_50)" ( (binary_expression "uVar15 + (int)local_50" identifier + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_3c = *(uint *)(param_5 + 0xc) & 0xb0;" (assignment_expression "local_3c = *(uint *)(param_5 + 0xc) & 0xb0" identifier = (binary_expression "*(uint *)(param_5 + 0xc) & 0xb0" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }" if (parenthesized_expression "((*(uint *)(param_5 + 0xc) & 0x200) != 0)" ( (binary_expression "(*(uint *)(param_5 + 0xc) & 0x200) != 0" (parenthesized_expression "(*(uint *)(param_5 + 0xc) & 0x200)" ( (binary_expression "*(uint *)(param_5 + 0xc) & 0x200" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }" { (expression_statement "local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));" (assignment_expression "local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18))" identifier = (cast_expression "(uint **)((int)local_48 + *(int *)(iVar13 + 0x18))" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_48 + *(int *)(iVar13 + 0x18))" ( (binary_expression "(int)local_48 + *(int *)(iVar13 + 0x18)" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) ))))) )))) ;) })) (expression_statement "local_90 = local_88;" (assignment_expression "local_90 = local_88" identifier = identifier) ;) (expression_statement "local_44 = &local_90;" (assignment_expression "local_44 = &local_90" identifier = (pointer_expression "&local_90" & identifier)) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) comment (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_74 = (uint)local_50;" (assignment_expression "local_74 = (uint)local_50" identifier = (cast_expression "(uint)local_50" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_30 = local_90;" (assignment_expression "local_30 = local_90" identifier = identifier) ;) (expression_statement "(*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);" (call_expression "(*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1)" (parenthesized_expression "(*(code *)PTR_reserve_004c2458)" ( (pointer_expression "*(code *)PTR_reserve_004c2458" * (cast_expression "(code *)PTR_reserve_004c2458" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_44,(int)local_48 << 1)" ( identifier , (binary_expression "(int)local_48 << 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) ;) (expression_statement "uVar11 = *(uint *)(param_5 + 8);" (assignment_expression "uVar11 = *(uint *)(param_5 + 8)" identifier = (pointer_expression "*(uint *)(param_5 + 8)" * (cast_expression "(uint *)(param_5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) ))))) ;) (if_statement "if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }" if (parenthesized_expression "(local_3c == 0x10)" ( (binary_expression "local_3c == 0x10" identifier == number_literal) )) (compound_statement "{\n        local_34 = (uint)(local_48 < uVar11);\n      }" { (expression_statement "local_34 = (uint)(local_48 < uVar11);" (assignment_expression "local_34 = (uint)(local_48 < uVar11)" identifier = (call_expression "(uint)(local_48 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_48 < uVar11)" ( (binary_expression "local_48 < uVar11" identifier < identifier) )))) ;) }) (else_clause "else {\n        local_34 = 0;\n      }" else (compound_statement "{\n        local_34 = 0;\n      }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) }))) (expression_statement "local_50 = abStack_54;" (assignment_expression "local_50 = abStack_54" identifier = identifier) ;) (expression_statement "pbVar12 = (byte *)&local_58;" (assignment_expression "pbVar12 = (byte *)&local_58" identifier = (cast_expression "(byte *)&local_58" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier))) ;) (expression_statement "local_48 = (uint **)(uVar11 - (int)local_48);" (assignment_expression "local_48 = (uint **)(uVar11 - (int)local_48)" identifier = (cast_expression "(uint **)(uVar11 - (int)local_48)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar11 - (int)local_48)" ( (binary_expression "uVar11 - (int)local_48" identifier - (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_2c = 0x7fffffff;" (assignment_expression "local_2c = 0x7fffffff" identifier = number_literal) ;) (do_statement "do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);" do (compound_statement "{\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      }" { (if_statement "if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }" if (parenthesized_expression "(*pbVar12 < 5)" ( (binary_expression "*pbVar12 < 5" (pointer_expression "*pbVar12" * identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }" { comment comment (expression_statement "puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();" (assignment_expression "puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))()" identifier = (cast_expression "(undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))()" (parenthesized_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))" ( (pointer_expression "*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210)" * (cast_expression "(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210" (binary_expression "default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" identifier + (pointer_expression "*(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" * (cast_expression "(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" ( (binary_expression "PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c" (binary_expression "PTR_UINT_004c12dc + (uint)*pbVar12 * 4" identifier + (binary_expression "(uint)*pbVar12 * 4" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) + number_literal) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != pbVar12)" ( (binary_expression "local_50 != pbVar12" identifier != identifier) )) ;) (expression_statement "uVar16 = local_8c;" (assignment_expression "uVar16 = local_8c" identifier = identifier) ;) (if_statement "if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }" if (parenthesized_expression "(1 < uVar15)" ( (binary_expression "1 < uVar15" number_literal < identifier) )) (compound_statement "{\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }" { (if_statement "if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }" if (parenthesized_expression "(0x7fffffff - local_8c < uVar15 - 1)" ( (binary_expression "0x7fffffff - local_8c < uVar15 - 1" (binary_expression "0x7fffffff - local_8c" number_literal - identifier) < (binary_expression "uVar15 - 1" identifier - number_literal)) )) (compound_statement "{\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }" { (expression_statement "puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);" (assignment_expression "puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" identifier = (cast_expression "(undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) , (binary_expression "local_40 + 1" identifier + number_literal) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) comment (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_44);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_44)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_44)" ( identifier ))) ;) (expression_statement "uVar16 = local_8c;" (assignment_expression "uVar16 = local_8c" identifier = identifier) ;) })) (expression_statement "local_8c = uVar16;" (assignment_expression "local_8c = uVar16" identifier = identifier) ;) (if_statement "if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }" if (parenthesized_expression "(uVar16 < uVar11)" ( (binary_expression "uVar16 < uVar11" identifier < identifier) )) (compound_statement "{\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }" { (expression_statement "uVar15 = uVar16;" (assignment_expression "uVar15 = uVar16" identifier = identifier) ;) (if_statement "if (local_3c != 0x20) {\n          uVar15 = 0;\n        }" if (parenthesized_expression "(local_3c != 0x20)" ( (binary_expression "local_3c != 0x20" identifier != number_literal) )) (compound_statement "{\n          uVar15 = 0;\n        }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c)" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" ( (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" * (cast_expression "(code *)PTR__M_replace_aux_004c258c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_44,uVar15,0,uVar11 - uVar16,local_4c)" ( identifier , identifier , number_literal , (binary_expression "uVar11 - uVar16" identifier - identifier) , identifier ))) ;) (expression_statement "uVar16 = uVar11;" (assignment_expression "uVar16 = uVar11" identifier = identifier) ;) })) (if_statement "if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }" if (parenthesized_expression "(param_4 >> 0x18 == 0)" ( (binary_expression "param_4 >> 0x18 == 0" (binary_expression "param_4 >> 0x18" identifier >> number_literal) == number_literal) )) (compound_statement "{\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }" { (expression_statement "uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);" (assignment_expression "uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16)" identifier = (call_expression "(**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16)" (parenthesized_expression "(**(code **)(*param_3 + 0x30))" ( (pointer_expression "**(code **)(*param_3 + 0x30)" * (pointer_expression "*(code **)(*param_3 + 0x30)" * (cast_expression "(code **)(*param_3 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x30)" ( (binary_expression "*param_3 + 0x30" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_3,local_90,uVar16)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar14 = uVar15 != uVar16;" (assignment_expression "uVar14 = uVar15 != uVar16" identifier = (binary_expression "uVar15 != uVar16" identifier != identifier)) ;) })) (expression_statement "local_resc._1_3_ = (undefined3)param_4;" (assignment_expression "local_resc._1_3_ = (undefined3)param_4" (field_expression "local_resc._1_3_" identifier . field_identifier) = (cast_expression "(undefined3)param_4" ( (type_descriptor "undefined3" type_identifier) ) identifier)) ;) (expression_statement "local_resc = CONCAT13(uVar14,local_resc._1_3_);" (assignment_expression "local_resc = CONCAT13(uVar14,local_resc._1_3_)" identifier = (call_expression "CONCAT13(uVar14,local_resc._1_3_)" identifier (argument_list "(uVar14,local_resc._1_3_)" ( identifier , (field_expression "local_resc._1_3_" identifier . field_identifier) )))) ;) (if_statement "if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }" if (parenthesized_expression "(local_90 != local_30)" ( (binary_expression "local_90 != local_30" identifier != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(local_90);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(local_90)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_90)" ( identifier ))) ;) })) (if_statement "if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "(local_78 != local_38)" ( (binary_expression "local_78 != local_38" identifier != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }))) })) (labeled_statement "LAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);" statement_identifier : (expression_statement "local_resc = CONCAT13(uVar14,local_resc._1_3_);" (assignment_expression "local_resc = CONCAT13(uVar14,local_resc._1_3_)" identifier = (call_expression "CONCAT13(uVar14,local_resc._1_3_)" identifier (argument_list "(uVar14,local_resc._1_3_)" ( identifier , (field_expression "local_resc._1_3_" identifier . field_identifier) )))) ;)) (expression_statement "*param_1 = param_3;" (assignment_expression "*param_1 = param_3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "*(undefined4 *)(param_5 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_5 + 8) = 0" (pointer_expression "*(undefined4 *)(param_5 + 8)" * (cast_expression "(undefined4 *)(param_5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[1] = local_resc;" (assignment_expression "param_1[1] = local_resc" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return param_1;" return identifier ;) }))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* std::ostreambuf_iterator<char, std::char_traits<char> > std::money_put<char,\n   std::ostreambuf_iterator<char, std::char_traits<char> >\n   >::_M_insert<false>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,\n   char, std::string const&) const */\n\nundefined4 *\nstd::money_put<char,std::ostreambuf_iterator<char,std::char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined4 *puVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int *piVar9;\n  byte *pbVar10;\n  uint uVar11;\n  byte *pbVar12;\n  int iVar13;\n  undefined1 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint local_resc;\n  undefined1 *local_90;\n  uint local_8c;\n  undefined1 local_88 [16];\n  uint *local_78;\n  uint local_74;\n  uint local_70 [6];\n  undefined4 local_58;\n  byte abStack_54 [4];\n  byte *local_50;\n  int local_4c;\n  uint **local_48;\n  undefined1 **local_44;\n  int local_40;\n  uint local_3c;\n  uint *local_38;\n  uint local_34;\n  undefined1 *local_30;\n  undefined4 local_2c;\n  \n  local_4c = (int)param_6;\n  uVar14 = (undefined1)(param_4 >> 0x18);\n  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);\n  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);\n  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);\n  iVar13 = *piVar9;\n  if (iVar13 == 0) {\n                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */\n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */\n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }\n  pbVar12 = (byte *)*param_7;\n  local_resc = param_4;\n  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }\n  pbVar10 = pbVar12 + param_7[1];\n  if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }\nLAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);\n  *param_1 = param_3;\n  *(undefined4 *)(param_5 + 8) = 0;\n  param_1[1] = local_resc;\n  return param_1;\n}\n\n" comment comment comment comment comment comment comment (ERROR "undefined4 *\nstd::money_put<char," (binary_expression "undefined4 *\nstd::money_put<char" (binary_expression "undefined4 *\nstd" identifier * identifier) (ERROR "::money_put" : : identifier) < identifier) ,) (labeled_statement "std::ostreambuf_iterator<char,std::char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" statement_identifier (ERROR "::ostreambuf_iterator<char,std:" : : (comma_expression "ostreambuf_iterator<char,std" (binary_expression "ostreambuf_iterator<char" identifier < identifier) , identifier) :) : (expression_statement "char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (binary_expression "char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (binary_expression "char_traits<char>>>::_M_insert<false" (binary_expression "char_traits<char>>>::_M_insert" identifier < (binary_expression "char>>>::_M_insert" identifier >> (ERROR ">::" > : :) identifier)) < false) > (parenthesized_expression "(undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" ( (comma_expression "undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" (binary_expression "undefined4 *param_1" identifier * identifier) , (comma_expression "undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" identifier (ERROR "param_2" identifier) , (comma_expression "int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" (binary_expression "int *param_3" identifier * identifier) , (ERROR "uint" identifier) (comma_expression "param_4,int param_5,char param_6\n          ,undefined4 *param_7" identifier , (ERROR "int" identifier) (comma_expression "param_5,char param_6\n          ,undefined4 *param_7" identifier , (ERROR "char" identifier) (comma_expression "param_6\n          ,undefined4 *param_7" identifier , (binary_expression "undefined4 *param_7" identifier * identifier))))))) ))) ;)) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined4 *puVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int *piVar9;\n  byte *pbVar10;\n  uint uVar11;\n  byte *pbVar12;\n  int iVar13;\n  undefined1 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint local_resc;\n  undefined1 *local_90;\n  uint local_8c;\n  undefined1 local_88 [16];\n  uint *local_78;\n  uint local_74;\n  uint local_70 [6];\n  undefined4 local_58;\n  byte abStack_54 [4];\n  byte *local_50;\n  int local_4c;\n  uint **local_48;\n  undefined1 **local_44;\n  int local_40;\n  uint local_3c;\n  uint *local_38;\n  uint local_34;\n  undefined1 *local_30;\n  undefined4 local_2c;\n  \n  local_4c = (int)param_6;\n  uVar14 = (undefined1)(param_4 >> 0x18);\n  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);\n  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);\n  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);\n  iVar13 = *piVar9;\n  if (iVar13 == 0) {\n                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */\n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */\n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }\n  pbVar12 = (byte *)*param_7;\n  local_resc = param_4;\n  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }\n  pbVar10 = pbVar12 + param_7[1];\n  if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }\nLAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);\n  *param_1 = param_3;\n  *(undefined4 *)(param_5 + 8) = 0;\n  param_1[1] = local_resc;\n  return param_1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined1 uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint local_resc;" type_identifier identifier ;) (declaration "undefined1 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "undefined1 local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "uint *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70 [6];" type_identifier (array_declarator "local_70 [6]" identifier [ number_literal ]) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "byte abStack_54 [4];" type_identifier (array_declarator "abStack_54 [4]" identifier [ number_literal ]) ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "undefined1 **local_44;" type_identifier (pointer_declarator "**local_44" * (pointer_declarator "*local_44" * identifier)) ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "undefined1 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (expression_statement "local_4c = (int)param_6;" (assignment_expression "local_4c = (int)param_6" identifier = (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar14 = (undefined1)(param_4 >> 0x18);" (assignment_expression "uVar14 = (undefined1)(param_4 >> 0x18)" identifier = (call_expression "(undefined1)(param_4 >> 0x18)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "(param_4 >> 0x18)" ( (binary_expression "param_4 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);" (assignment_expression "iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c)" identifier = (call_expression "(*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c)" (parenthesized_expression "(*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)" ( (binary_expression "*(code *)PTR_use_facet<std_ctype<char>>_004c2c84" (binary_expression "*(code *)PTR_use_facet<std_ctype" (pointer_expression "*(code *)PTR_use_facet" * (cast_expression "(code *)PTR_use_facet" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) < (binary_expression "char>>_004c2c84" identifier >> identifier)) )) (argument_list "(param_5 + 0x6c)" ( (binary_expression "param_5 + 0x6c" identifier + number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc)" identifier = (call_expression "(*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc)" (parenthesized_expression "(*(code *)PTR__M_id_004c2c74)" ( (pointer_expression "*(code *)PTR__M_id_004c2c74" * (cast_expression "(code *)PTR__M_id_004c2c74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_004c32cc)" ( identifier )))) ;) (expression_statement "piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);" (assignment_expression "piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" identifier = (cast_expression "(int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" ( (binary_expression "*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4" (pointer_expression "*(int *)(*(int *)(param_5 + 0x6c) + 0xc)" * (cast_expression "(int *)(*(int *)(param_5 + 0x6c) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_5 + 0x6c) + 0xc)" ( (binary_expression "*(int *)(param_5 + 0x6c) + 0xc" (pointer_expression "*(int *)(param_5 + 0x6c)" * (cast_expression "(int *)(param_5 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x6c)" ( (binary_expression "param_5 + 0x6c" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar13 = *piVar9;" (assignment_expression "iVar13 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (iVar13 == 0) {\n                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */\n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */\n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */\n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */\n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }" { comment (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x44)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x44)" ( number_literal ))))) ;) (expression_statement "puVar6[1] = 0;" (assignment_expression "puVar6[1] = 0" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[2] = 0;" (assignment_expression "puVar6[2] = 0" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = PTR__M_cache_004c2d20;" (assignment_expression "puVar2 = PTR__M_cache_004c2d20" identifier = identifier) ;) (expression_statement "puVar1 = PTR_vtable_004c13d4;" (assignment_expression "puVar1 = PTR_vtable_004c13d4" identifier = identifier) ;) (expression_statement "*(undefined2 *)(puVar6 + 4) = 0;" (assignment_expression "*(undefined2 *)(puVar6 + 4) = 0" (pointer_expression "*(undefined2 *)(puVar6 + 4)" * (cast_expression "(undefined2 *)(puVar6 + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar6 + 0x12) = 0;" (assignment_expression "*(undefined1 *)((int)puVar6 + 0x12) = 0" (pointer_expression "*(undefined1 *)((int)puVar6 + 0x12)" * (cast_expression "(undefined1 *)((int)puVar6 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x12)" ( (binary_expression "(int)puVar6 + 0x12" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar6 = puVar1 + 8;" (assignment_expression "*puVar6 = puVar1 + 8" (pointer_expression "*puVar6" * identifier) = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar6[6] = 0;" (assignment_expression "puVar6[6] = 0" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[7] = 0;" (assignment_expression "puVar6[7] = 0" (subscript_expression "puVar6[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[8] = 0;" (assignment_expression "puVar6[8] = 0" (subscript_expression "puVar6[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[9] = 0;" (assignment_expression "puVar6[9] = 0" (subscript_expression "puVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[10] = 0;" (assignment_expression "puVar6[10] = 0" (subscript_expression "puVar6[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xb] = 0;" (assignment_expression "puVar6[0xb] = 0" (subscript_expression "puVar6[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xc] = 0;" (assignment_expression "puVar6[0xc] = 0" (subscript_expression "puVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xd] = 0;" (assignment_expression "puVar6[0xd] = 0" (subscript_expression "puVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "*(undefined1 *)((int)puVar6 + 0x43) = 0;" (assignment_expression "*(undefined1 *)((int)puVar6 + 0x43) = 0" (pointer_expression "*(undefined1 *)((int)puVar6 + 0x43)" * (cast_expression "(undefined1 *)((int)puVar6 + 0x43)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x43)" ( (binary_expression "(int)puVar6 + 0x43" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)puVar2)(puVar6,param_5 + 0x6c);" (call_expression "(*(code *)puVar2)(puVar6,param_5 + 0x6c)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,param_5 + 0x6c)" ( identifier , (binary_expression "param_5 + 0x6c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);" (call_expression "(*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4)" (parenthesized_expression "(*(code *)PTR__M_install_cache_004c2d18)" ( (pointer_expression "*(code *)PTR__M_install_cache_004c2d18" * (cast_expression "(code *)PTR__M_install_cache_004c2d18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4)" ( (pointer_expression "*(undefined4 *)(param_5 + 0x6c)" * (cast_expression "(undefined4 *)(param_5 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x6c)" ( (binary_expression "param_5 + 0x6c" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "iVar13 = *piVar9;" (assignment_expression "iVar13 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) })) (expression_statement "pbVar12 = (byte *)*param_7;" (assignment_expression "pbVar12 = (byte *)*param_7" identifier = (cast_expression "(byte *)*param_7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (if_statement "if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" if (parenthesized_expression "(*pbVar12 == *(byte *)(iVar13 + 0x38))" ( (binary_expression "*pbVar12 == *(byte *)(iVar13 + 0x38)" (pointer_expression "*pbVar12" * identifier) == (pointer_expression "*(byte *)(iVar13 + 0x38)" * (cast_expression "(byte *)(iVar13 + 0x38)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }" { (expression_statement "local_58 = *(undefined4 *)(iVar13 + 0x34);" (assignment_expression "local_58 = *(undefined4 *)(iVar13 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(iVar13 + 0x34)" * (cast_expression "(undefined4 *)(iVar13 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x34)" ( (binary_expression "iVar13 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (param_7[1] == 0) goto LAB_003c2b1c;" if (parenthesized_expression "(param_7[1] == 0)" ( (binary_expression "param_7[1] == 0" (subscript_expression "param_7[1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_003c2b1c;" goto statement_identifier ;)) (expression_statement "local_40 = *(int *)(iVar13 + 0x24);" (assignment_expression "local_40 = *(int *)(iVar13 + 0x24)" identifier = (pointer_expression "*(int *)(iVar13 + 0x24)" * (cast_expression "(int *)(iVar13 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x24)" ( (binary_expression "iVar13 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar15 = *(uint *)(iVar13 + 0x28);" (assignment_expression "uVar15 = *(uint *)(iVar13 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar13 + 0x28)" * (cast_expression "(uint *)(iVar13 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" else (compound_statement "{\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" { (expression_statement "local_58 = *(undefined4 *)(iVar13 + 0x30);" (assignment_expression "local_58 = *(undefined4 *)(iVar13 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar13 + 0x30)" * (cast_expression "(undefined4 *)(iVar13 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(int *)(iVar13 + 0x1c);" (assignment_expression "local_40 = *(int *)(iVar13 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(iVar13 + 0x20);" (assignment_expression "uVar15 = *(uint *)(iVar13 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar13 + 0x20)" * (cast_expression "(uint *)(iVar13 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) ))))) ;) }))) (expression_statement "pbVar10 = pbVar12 + param_7[1];" (assignment_expression "pbVar10 = pbVar12 + param_7[1]" identifier = (binary_expression "pbVar12 + param_7[1]" identifier + (subscript_expression "param_7[1]" identifier [ number_literal ]))) ;) (if_statement "if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }" if (parenthesized_expression "((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0))" ( (binary_expression "(pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)" (parenthesized_expression "(pbVar12 < pbVar10)" ( (binary_expression "pbVar12 < pbVar10" identifier < identifier) )) && (parenthesized_expression "(pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)" ( (comma_expression "pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0" (assignment_expression "pbVar7 = pbVar12" identifier = identifier) , (binary_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8)" ( (binary_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8" (pointer_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" * (cast_expression "(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" ( (binary_expression "*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) + (binary_expression "(uint)*pbVar12 * 2" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }" { (do_statement "do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);" do (compound_statement "{\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    }" { (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }" if (parenthesized_expression "(pbVar10 == pbVar7)" ( (binary_expression "pbVar10 == pbVar7" identifier == identifier) )) (compound_statement "{\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }" { (expression_statement "uVar11 = (int)pbVar10 - (int)pbVar12;" (assignment_expression "uVar11 = (int)pbVar10 - (int)pbVar12" identifier = (binary_expression "(int)pbVar10 - (int)pbVar12" (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto joined_r0x003c2b0c;" goto statement_identifier ;) })) }) while (parenthesized_expression "((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0)" ( (binary_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8)" ( (binary_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8" (pointer_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" * (cast_expression "(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" ( (binary_expression "*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) + (binary_expression "(uint)*pbVar7 * 2" (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) ;) (expression_statement "uVar11 = (int)pbVar7 - (int)pbVar12;" (assignment_expression "uVar11 = (int)pbVar7 - (int)pbVar12" identifier = (binary_expression "(int)pbVar7 - (int)pbVar12" (cast_expression "(int)pbVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (labeled_statement "joined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" statement_identifier : (if_statement "if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */\n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */\n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" { (expression_statement "local_48 = &local_78;" (assignment_expression "local_48 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "local_78 = local_70;" (assignment_expression "local_78 = local_70" identifier = identifier) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70[0] = local_70[0] & 0xffffff;" (assignment_expression "local_70[0] = local_70[0] & 0xffffff" (subscript_expression "local_70[0]" identifier [ number_literal ]) = (binary_expression "local_70[0] & 0xffffff" (subscript_expression "local_70[0]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_38 = local_78;" (assignment_expression "local_38 = local_78" identifier = identifier) ;) comment (expression_statement "(*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);" (call_expression "(*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1)" (parenthesized_expression "(*(code *)PTR_reserve_004c2458)" ( (pointer_expression "*(code *)PTR_reserve_004c2458" * (cast_expression "(code *)PTR_reserve_004c2458" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,uVar11 << 1)" ( identifier , (binary_expression "uVar11 << 1" identifier << number_literal) ))) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x2c)" * (cast_expression "(int *)(iVar13 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = uVar11 - iVar3;" (assignment_expression "uVar16 = uVar11 - iVar3" identifier = (binary_expression "uVar11 - iVar3" identifier - identifier)) ;) (if_statement "if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }" if (parenthesized_expression "(0 < (int)uVar16)" ( (binary_expression "0 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }" { (if_statement "if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n          uVar16 = uVar11;\n        }" { (expression_statement "uVar16 = uVar11;" (assignment_expression "uVar16 = uVar11" identifier = identifier) ;) })) (if_statement "if (*(int *)(iVar13 + 0xc) == 0) {\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" if (parenthesized_expression "(*(int *)(iVar13 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar13 + 0xc) == 0" (pointer_expression "*(int *)(iVar13 + 0xc)" * (cast_expression "(int *)(iVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }" { comment (expression_statement "(*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,0,local_74,pbVar12,uVar16)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x2c)" * (cast_expression "(int *)(iVar13 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" else (compound_statement "{\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" { (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0)" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" ( (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" * (cast_expression "(code *)PTR__M_replace_aux_004c258c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,0,local_74,uVar16 << 1,0)" ( identifier , number_literal , identifier , (binary_expression "uVar16 << 1" identifier << number_literal) , number_literal ))) ;) (expression_statement "puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);" (assignment_expression "puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" identifier = (cast_expression "(undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" (parenthesized_expression "(*(code *)PTR___add_grouping<char>_004c2cf8)" ( (binary_expression "*(code *)PTR___add_grouping<char>_004c2cf8" (binary_expression "*(code *)PTR___add_grouping<char" (pointer_expression "*(code *)PTR___add_grouping" * (cast_expression "(code *)PTR___add_grouping" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) > identifier) )) (argument_list "(local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" ( identifier , (cast_expression "(int)*(char *)(iVar13 + 0x12)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(iVar13 + 0x12)" * (cast_expression "(char *)(iVar13 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x12)" ( (binary_expression "iVar13 + 0x12" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar13 + 8)" * (cast_expression "(undefined4 *)(iVar13 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar13 + 0xc)" * (cast_expression "(undefined4 *)(iVar13 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) )))) , identifier , (binary_expression "pbVar12 + uVar16" identifier + identifier) ))))) ;) (if_statement "if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }" if (parenthesized_expression "(local_74 < (uint)((int)puVar5 - (int)local_78))" ( (binary_expression "local_74 < (uint)((int)puVar5 - (int)local_78)" identifier < (call_expression "(uint)((int)puVar5 - (int)local_78)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar5 - (int)local_78)" ( (binary_expression "(int)puVar5 - (int)local_78" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }" { (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" (parenthesized_expression "(*(code *)PTR___throw_out_of_range_fmt_004c225c)" ( (pointer_expression "*(code *)PTR___throw_out_of_range_fmt_004c225c" * (cast_expression "(code *)PTR___throw_out_of_range_fmt_004c225c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" ( (binary_expression "PTR_s__s_004c1a50 + -0xe00" identifier + number_literal) , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3894" identifier + number_literal) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x2c)" * (cast_expression "(int *)(iVar13 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "local_74 = (int)puVar5 - (int)local_78;" (assignment_expression "local_74 = (int)puVar5 - (int)local_78" identifier = (binary_expression "(int)puVar5 - (int)local_78" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) })) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" identifier = (cast_expression "(byte *)local_74" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }" { (expression_statement "local_44 = (undefined1 **)(local_74 + 1);" (assignment_expression "local_44 = (undefined1 **)(local_74 + 1)" identifier = (cast_expression "(undefined1 **)(local_74 + 1)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_74 + 1)" ( (binary_expression "local_74 + 1" identifier + number_literal) )))) ;) (expression_statement "local_3c = (uint)*(char *)(iVar13 + 0x11);" (assignment_expression "local_3c = (uint)*(char *)(iVar13 + 0x11)" identifier = (binary_expression "(uint)*(char *)(iVar13 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(iVar13 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x11)" ( (binary_expression "iVar13 + 0x11" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = 0xf;" (assignment_expression "uVar8 = 0xf" identifier = number_literal) ;) (if_statement "if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }" if (parenthesized_expression "(local_78 != local_38)" ( (binary_expression "local_78 != local_38" identifier != identifier) )) (compound_statement "{\n          uVar8 = local_70[0];\n        }" { (expression_statement "uVar8 = local_70[0];" (assignment_expression "uVar8 = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) })) (if_statement "if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }" if (parenthesized_expression "(uVar8 < local_44)" ( (binary_expression "uVar8 < local_44" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }" { (expression_statement "(*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" ( (pointer_expression "*(code *)PTR__M_mutate_004c2090" * (cast_expression "(code *)PTR__M_mutate_004c2090" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,local_74,0,0,1)" ( identifier , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(char *)((int)local_78 + (int)local_50) = (char)local_3c;" (assignment_expression "*(char *)((int)local_78 + (int)local_50) = (char)local_3c" (pointer_expression "*(char *)((int)local_78 + (int)local_50)" * (cast_expression "(char *)((int)local_78 + (int)local_50)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_78 + (int)local_50)" ( (binary_expression "(int)local_78 + (int)local_50" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (cast_expression "(char)local_3c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "local_74 = (uint)local_44;" (assignment_expression "local_74 = (uint)local_44" identifier = (cast_expression "(uint)local_44" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)local_78 + (int)local_44) = 0;" (assignment_expression "*(undefined1 *)((int)local_78 + (int)local_44) = 0" (pointer_expression "*(undefined1 *)((int)local_78 + (int)local_44)" * (cast_expression "(undefined1 *)((int)local_78 + (int)local_44)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_78 + (int)local_44)" ( (binary_expression "(int)local_78 + (int)local_44" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (if_statement "if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" if (parenthesized_expression "((int)uVar16 < 0)" ( (binary_expression "(int)uVar16 < 0" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }" { (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39))" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" ( (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" * (cast_expression "(code *)PTR__M_replace_aux_004c258c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39))" ( identifier , identifier , number_literal , (unary_expression "-uVar16" - identifier) , (cast_expression "(int)*(char *)(iVar13 + 0x39)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(iVar13 + 0x39)" * (cast_expression "(char *)(iVar13 + 0x39)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x39)" ( (binary_expression "iVar13 + 0x39" identifier + number_literal) ))))) ))) ;) (if_statement "if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }" if (parenthesized_expression "(0x7fffffff - local_74 < uVar11)" ( (binary_expression "0x7fffffff - local_74 < uVar11" (binary_expression "0x7fffffff - local_74" number_literal - identifier) < identifier) )) (compound_statement "{\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }" { (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,pbVar12,uVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" identifier = (cast_expression "(byte *)local_74" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" else (compound_statement "{\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */\n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" { (if_statement "if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }" if (parenthesized_expression "(0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c))" ( (binary_expression "0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)" (binary_expression "0x7fffffffU - (int)local_44" number_literal - (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier)) < (pointer_expression "*(uint *)(iVar13 + 0x2c)" * (cast_expression "(uint *)(iVar13 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }" { comment (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) , (binary_expression "pbVar12 + uVar16" identifier + identifier) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) comment (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_48);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_48)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48)" ( identifier ))) ;) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" identifier = (cast_expression "(byte *)local_74" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) })) (expression_statement "local_48 = (uint **)(uVar15 + (int)local_50);" (assignment_expression "local_48 = (uint **)(uVar15 + (int)local_50)" identifier = (cast_expression "(uint **)(uVar15 + (int)local_50)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar15 + (int)local_50)" ( (binary_expression "uVar15 + (int)local_50" identifier + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_3c = *(uint *)(param_5 + 0xc) & 0xb0;" (assignment_expression "local_3c = *(uint *)(param_5 + 0xc) & 0xb0" identifier = (binary_expression "*(uint *)(param_5 + 0xc) & 0xb0" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }" if (parenthesized_expression "((*(uint *)(param_5 + 0xc) & 0x200) != 0)" ( (binary_expression "(*(uint *)(param_5 + 0xc) & 0x200) != 0" (parenthesized_expression "(*(uint *)(param_5 + 0xc) & 0x200)" ( (binary_expression "*(uint *)(param_5 + 0xc) & 0x200" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }" { (expression_statement "local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));" (assignment_expression "local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18))" identifier = (cast_expression "(uint **)((int)local_48 + *(int *)(iVar13 + 0x18))" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_48 + *(int *)(iVar13 + 0x18))" ( (binary_expression "(int)local_48 + *(int *)(iVar13 + 0x18)" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) ))))) )))) ;) })) (expression_statement "local_90 = local_88;" (assignment_expression "local_90 = local_88" identifier = identifier) ;) (expression_statement "local_44 = &local_90;" (assignment_expression "local_44 = &local_90" identifier = (pointer_expression "&local_90" & identifier)) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) comment (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_74 = (uint)local_50;" (assignment_expression "local_74 = (uint)local_50" identifier = (cast_expression "(uint)local_50" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_30 = local_90;" (assignment_expression "local_30 = local_90" identifier = identifier) ;) (expression_statement "(*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);" (call_expression "(*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1)" (parenthesized_expression "(*(code *)PTR_reserve_004c2458)" ( (pointer_expression "*(code *)PTR_reserve_004c2458" * (cast_expression "(code *)PTR_reserve_004c2458" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_44,(int)local_48 << 1)" ( identifier , (binary_expression "(int)local_48 << 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) ;) (expression_statement "uVar11 = *(uint *)(param_5 + 8);" (assignment_expression "uVar11 = *(uint *)(param_5 + 8)" identifier = (pointer_expression "*(uint *)(param_5 + 8)" * (cast_expression "(uint *)(param_5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) ))))) ;) (if_statement "if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }" if (parenthesized_expression "(local_3c == 0x10)" ( (binary_expression "local_3c == 0x10" identifier == number_literal) )) (compound_statement "{\n        local_34 = (uint)(local_48 < uVar11);\n      }" { (expression_statement "local_34 = (uint)(local_48 < uVar11);" (assignment_expression "local_34 = (uint)(local_48 < uVar11)" identifier = (call_expression "(uint)(local_48 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_48 < uVar11)" ( (binary_expression "local_48 < uVar11" identifier < identifier) )))) ;) }) (else_clause "else {\n        local_34 = 0;\n      }" else (compound_statement "{\n        local_34 = 0;\n      }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) }))) (expression_statement "local_50 = abStack_54;" (assignment_expression "local_50 = abStack_54" identifier = identifier) ;) (expression_statement "pbVar12 = (byte *)&local_58;" (assignment_expression "pbVar12 = (byte *)&local_58" identifier = (cast_expression "(byte *)&local_58" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier))) ;) (expression_statement "local_48 = (uint **)(uVar11 - (int)local_48);" (assignment_expression "local_48 = (uint **)(uVar11 - (int)local_48)" identifier = (cast_expression "(uint **)(uVar11 - (int)local_48)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar11 - (int)local_48)" ( (binary_expression "uVar11 - (int)local_48" identifier - (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_2c = 0x7fffffff;" (assignment_expression "local_2c = 0x7fffffff" identifier = number_literal) ;) (do_statement "do {\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);" do (compound_statement "{\n        if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      }" { (if_statement "if (*pbVar12 < 5) {\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }" if (parenthesized_expression "(*pbVar12 < 5)" ( (binary_expression "*pbVar12 < 5" (pointer_expression "*pbVar12" * identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */\n                    /* WARNING: Treating indirect jump as call */\n          puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();\n          return puVar6;\n        }" { comment comment (expression_statement "puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))();" (assignment_expression "puVar6 = (undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))()" identifier = (cast_expression "(undefined4 *)\n                   (*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))()" (parenthesized_expression "(*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)))" ( (pointer_expression "*(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c))" * (cast_expression "(code *)(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&gold::Position_dependent_options::default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c))" ( (ERROR "&gold::Position_dependent_options::" (pointer_expression "&gold" & identifier) : : identifier : :) (binary_expression "default_options_.relax_.\n                               user_set_via_option +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" (field_expression "default_options_.relax_.\n                               user_set_via_option" (field_expression "default_options_.relax_" identifier . field_identifier) . field_identifier) + (pointer_expression "*(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" * (cast_expression "(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" ( (binary_expression "PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c" (binary_expression "PTR_UINT_004c12dc + (uint)*pbVar12 * 4" identifier + (binary_expression "(uint)*pbVar12 * 4" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != pbVar12)" ( (binary_expression "local_50 != pbVar12" identifier != identifier) )) ;) (expression_statement "uVar16 = local_8c;" (assignment_expression "uVar16 = local_8c" identifier = identifier) ;) (if_statement "if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }" if (parenthesized_expression "(1 < uVar15)" ( (binary_expression "1 < uVar15" number_literal < identifier) )) (compound_statement "{\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */\n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }" { (if_statement "if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }" if (parenthesized_expression "(0x7fffffff - local_8c < uVar15 - 1)" ( (binary_expression "0x7fffffff - local_8c < uVar15 - 1" (binary_expression "0x7fffffff - local_8c" number_literal - identifier) < (binary_expression "uVar15 - 1" identifier - number_literal)) )) (compound_statement "{\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }" { (expression_statement "puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);" (assignment_expression "puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" identifier = (cast_expression "(undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) , (binary_expression "local_40 + 1" identifier + number_literal) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) comment (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_44);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_44)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_44)" ( identifier ))) ;) (expression_statement "uVar16 = local_8c;" (assignment_expression "uVar16 = local_8c" identifier = identifier) ;) })) (expression_statement "local_8c = uVar16;" (assignment_expression "local_8c = uVar16" identifier = identifier) ;) (if_statement "if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }" if (parenthesized_expression "(uVar16 < uVar11)" ( (binary_expression "uVar16 < uVar11" identifier < identifier) )) (compound_statement "{\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }" { (expression_statement "uVar15 = uVar16;" (assignment_expression "uVar15 = uVar16" identifier = identifier) ;) (if_statement "if (local_3c != 0x20) {\n          uVar15 = 0;\n        }" if (parenthesized_expression "(local_3c != 0x20)" ( (binary_expression "local_3c != 0x20" identifier != number_literal) )) (compound_statement "{\n          uVar15 = 0;\n        }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c)" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" ( (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" * (cast_expression "(code *)PTR__M_replace_aux_004c258c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_44,uVar15,0,uVar11 - uVar16,local_4c)" ( identifier , identifier , number_literal , (binary_expression "uVar11 - uVar16" identifier - identifier) , identifier ))) ;) (expression_statement "uVar16 = uVar11;" (assignment_expression "uVar16 = uVar11" identifier = identifier) ;) })) (if_statement "if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }" if (parenthesized_expression "(param_4 >> 0x18 == 0)" ( (binary_expression "param_4 >> 0x18 == 0" (binary_expression "param_4 >> 0x18" identifier >> number_literal) == number_literal) )) (compound_statement "{\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }" { (expression_statement "uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);" (assignment_expression "uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16)" identifier = (call_expression "(**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16)" (parenthesized_expression "(**(code **)(*param_3 + 0x30))" ( (pointer_expression "**(code **)(*param_3 + 0x30)" * (pointer_expression "*(code **)(*param_3 + 0x30)" * (cast_expression "(code **)(*param_3 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x30)" ( (binary_expression "*param_3 + 0x30" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_3,local_90,uVar16)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar14 = uVar15 != uVar16;" (assignment_expression "uVar14 = uVar15 != uVar16" identifier = (binary_expression "uVar15 != uVar16" identifier != identifier)) ;) })) (expression_statement "local_resc._1_3_ = (undefined3)param_4;" (assignment_expression "local_resc._1_3_ = (undefined3)param_4" (field_expression "local_resc._1_3_" identifier . field_identifier) = (cast_expression "(undefined3)param_4" ( (type_descriptor "undefined3" type_identifier) ) identifier)) ;) (expression_statement "local_resc = CONCAT13(uVar14,local_resc._1_3_);" (assignment_expression "local_resc = CONCAT13(uVar14,local_resc._1_3_)" identifier = (call_expression "CONCAT13(uVar14,local_resc._1_3_)" identifier (argument_list "(uVar14,local_resc._1_3_)" ( identifier , (field_expression "local_resc._1_3_" identifier . field_identifier) )))) ;) (if_statement "if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }" if (parenthesized_expression "(local_90 != local_30)" ( (binary_expression "local_90 != local_30" identifier != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(local_90);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(local_90)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_90)" ( identifier ))) ;) })) (if_statement "if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "(local_78 != local_38)" ( (binary_expression "local_78 != local_38" identifier != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }))) })) (labeled_statement "LAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);" statement_identifier : (expression_statement "local_resc = CONCAT13(uVar14,local_resc._1_3_);" (assignment_expression "local_resc = CONCAT13(uVar14,local_resc._1_3_)" identifier = (call_expression "CONCAT13(uVar14,local_resc._1_3_)" identifier (argument_list "(uVar14,local_resc._1_3_)" ( identifier , (field_expression "local_resc._1_3_" identifier . field_identifier) )))) ;)) (expression_statement "*param_1 = param_3;" (assignment_expression "*param_1 = param_3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "*(undefined4 *)(param_5 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_5 + 8) = 0" (pointer_expression "*(undefined4 *)(param_5 + 8)" * (cast_expression "(undefined4 *)(param_5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[1] = local_resc;" (assignment_expression "param_1[1] = local_resc" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return param_1;" return identifier ;) }))
(translation_unit "undefined4 *\nstd::money_put<char,std::ostreambuf_iterator<char,std::char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined4 *puVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int *piVar9;\n  byte *pbVar10;\n  uint uVar11;\n  byte *pbVar12;\n  int iVar13;\n  undefined1 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint local_resc;\n  undefined1 *local_90;\n  uint local_8c;\n  undefined1 local_88 [16];\n  uint *local_78;\n  uint local_74;\n  uint local_70 [6];\n  undefined4 local_58;\n  byte abStack_54 [4];\n  byte *local_50;\n  int local_4c;\n  uint **local_48;\n  undefined1 **local_44;\n  int local_40;\n  uint local_3c;\n  uint *local_38;\n  uint local_34;\n  undefined1 *local_30;\n  undefined4 local_2c;\n  \n  local_4c = (int)param_6;\n  uVar14 = (undefined1)(param_4 >> 0x18);\n  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);\n  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);\n  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);\n  iVar13 = *piVar9;\n  if (iVar13 == 0) {\n                    \n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    \n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }\n  pbVar12 = (byte *)*param_7;\n  local_resc = param_4;\n  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }\n  pbVar10 = pbVar12 + param_7[1];\n  if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }\nLAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);\n  *param_1 = param_3;\n  *(undefined4 *)(param_5 + 8) = 0;\n  param_1[1] = local_resc;\n  return param_1;\n}\n\n" (ERROR "undefined4 *\nstd::money_put<char," (binary_expression "undefined4 *\nstd::money_put<char" (binary_expression "undefined4 *\nstd" identifier * identifier) (ERROR "::money_put" : : identifier) < identifier) ,) (labeled_statement "std::ostreambuf_iterator<char,std::char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" statement_identifier (ERROR "::ostreambuf_iterator<char,std:" : : (comma_expression "ostreambuf_iterator<char,std" (binary_expression "ostreambuf_iterator<char" identifier < identifier) , identifier) :) : (expression_statement "char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (binary_expression "char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (binary_expression "char_traits<char>>>::_M_insert<false" (binary_expression "char_traits<char>>>::_M_insert" identifier < (binary_expression "char>>>::_M_insert" identifier >> (ERROR ">::" > : :) identifier)) < false) > (parenthesized_expression "(undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" ( (comma_expression "undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" (binary_expression "undefined4 *param_1" identifier * identifier) , (comma_expression "undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" identifier (ERROR "param_2" identifier) , (comma_expression "int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" (binary_expression "int *param_3" identifier * identifier) , (ERROR "uint" identifier) (comma_expression "param_4,int param_5,char param_6\n          ,undefined4 *param_7" identifier , (ERROR "int" identifier) (comma_expression "param_5,char param_6\n          ,undefined4 *param_7" identifier , (ERROR "char" identifier) (comma_expression "param_6\n          ,undefined4 *param_7" identifier , (binary_expression "undefined4 *param_7" identifier * identifier))))))) ))) ;)) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined4 *puVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int *piVar9;\n  byte *pbVar10;\n  uint uVar11;\n  byte *pbVar12;\n  int iVar13;\n  undefined1 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint local_resc;\n  undefined1 *local_90;\n  uint local_8c;\n  undefined1 local_88 [16];\n  uint *local_78;\n  uint local_74;\n  uint local_70 [6];\n  undefined4 local_58;\n  byte abStack_54 [4];\n  byte *local_50;\n  int local_4c;\n  uint **local_48;\n  undefined1 **local_44;\n  int local_40;\n  uint local_3c;\n  uint *local_38;\n  uint local_34;\n  undefined1 *local_30;\n  undefined4 local_2c;\n  \n  local_4c = (int)param_6;\n  uVar14 = (undefined1)(param_4 >> 0x18);\n  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);\n  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);\n  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);\n  iVar13 = *piVar9;\n  if (iVar13 == 0) {\n                    \n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    \n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }\n  pbVar12 = (byte *)*param_7;\n  local_resc = param_4;\n  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }\n  pbVar10 = pbVar12 + param_7[1];\n  if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }\nLAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);\n  *param_1 = param_3;\n  *(undefined4 *)(param_5 + 8) = 0;\n  param_1[1] = local_resc;\n  return param_1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined1 uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint local_resc;" type_identifier identifier ;) (declaration "undefined1 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "undefined1 local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "uint *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70 [6];" type_identifier (array_declarator "local_70 [6]" identifier [ number_literal ]) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "byte abStack_54 [4];" type_identifier (array_declarator "abStack_54 [4]" identifier [ number_literal ]) ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "undefined1 **local_44;" type_identifier (pointer_declarator "**local_44" * (pointer_declarator "*local_44" * identifier)) ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "undefined1 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (expression_statement "local_4c = (int)param_6;" (assignment_expression "local_4c = (int)param_6" identifier = (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar14 = (undefined1)(param_4 >> 0x18);" (assignment_expression "uVar14 = (undefined1)(param_4 >> 0x18)" identifier = (call_expression "(undefined1)(param_4 >> 0x18)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "(param_4 >> 0x18)" ( (binary_expression "param_4 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);" (assignment_expression "iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c)" identifier = (call_expression "(*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c)" (parenthesized_expression "(*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)" ( (binary_expression "*(code *)PTR_use_facet<std_ctype<char>>_004c2c84" (binary_expression "*(code *)PTR_use_facet<std_ctype" (pointer_expression "*(code *)PTR_use_facet" * (cast_expression "(code *)PTR_use_facet" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) < (binary_expression "char>>_004c2c84" identifier >> identifier)) )) (argument_list "(param_5 + 0x6c)" ( (binary_expression "param_5 + 0x6c" identifier + number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc)" identifier = (call_expression "(*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc)" (parenthesized_expression "(*(code *)PTR__M_id_004c2c74)" ( (pointer_expression "*(code *)PTR__M_id_004c2c74" * (cast_expression "(code *)PTR__M_id_004c2c74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_004c32cc)" ( identifier )))) ;) (expression_statement "piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);" (assignment_expression "piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" identifier = (cast_expression "(int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" ( (binary_expression "*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4" (pointer_expression "*(int *)(*(int *)(param_5 + 0x6c) + 0xc)" * (cast_expression "(int *)(*(int *)(param_5 + 0x6c) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_5 + 0x6c) + 0xc)" ( (binary_expression "*(int *)(param_5 + 0x6c) + 0xc" (pointer_expression "*(int *)(param_5 + 0x6c)" * (cast_expression "(int *)(param_5 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x6c)" ( (binary_expression "param_5 + 0x6c" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar13 = *piVar9;" (assignment_expression "iVar13 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (iVar13 == 0) {\n                    \n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    \n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    \n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x44)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x44)" ( number_literal ))))) ;) (expression_statement "puVar6[1] = 0;" (assignment_expression "puVar6[1] = 0" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[2] = 0;" (assignment_expression "puVar6[2] = 0" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = PTR__M_cache_004c2d20;" (assignment_expression "puVar2 = PTR__M_cache_004c2d20" identifier = identifier) ;) (expression_statement "puVar1 = PTR_vtable_004c13d4;" (assignment_expression "puVar1 = PTR_vtable_004c13d4" identifier = identifier) ;) (expression_statement "*(undefined2 *)(puVar6 + 4) = 0;" (assignment_expression "*(undefined2 *)(puVar6 + 4) = 0" (pointer_expression "*(undefined2 *)(puVar6 + 4)" * (cast_expression "(undefined2 *)(puVar6 + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar6 + 0x12) = 0;" (assignment_expression "*(undefined1 *)((int)puVar6 + 0x12) = 0" (pointer_expression "*(undefined1 *)((int)puVar6 + 0x12)" * (cast_expression "(undefined1 *)((int)puVar6 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x12)" ( (binary_expression "(int)puVar6 + 0x12" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar6 = puVar1 + 8;" (assignment_expression "*puVar6 = puVar1 + 8" (pointer_expression "*puVar6" * identifier) = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar6[6] = 0;" (assignment_expression "puVar6[6] = 0" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[7] = 0;" (assignment_expression "puVar6[7] = 0" (subscript_expression "puVar6[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[8] = 0;" (assignment_expression "puVar6[8] = 0" (subscript_expression "puVar6[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[9] = 0;" (assignment_expression "puVar6[9] = 0" (subscript_expression "puVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[10] = 0;" (assignment_expression "puVar6[10] = 0" (subscript_expression "puVar6[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xb] = 0;" (assignment_expression "puVar6[0xb] = 0" (subscript_expression "puVar6[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xc] = 0;" (assignment_expression "puVar6[0xc] = 0" (subscript_expression "puVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xd] = 0;" (assignment_expression "puVar6[0xd] = 0" (subscript_expression "puVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar6 + 0x43) = 0;" (assignment_expression "*(undefined1 *)((int)puVar6 + 0x43) = 0" (pointer_expression "*(undefined1 *)((int)puVar6 + 0x43)" * (cast_expression "(undefined1 *)((int)puVar6 + 0x43)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x43)" ( (binary_expression "(int)puVar6 + 0x43" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)puVar2)(puVar6,param_5 + 0x6c);" (call_expression "(*(code *)puVar2)(puVar6,param_5 + 0x6c)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,param_5 + 0x6c)" ( identifier , (binary_expression "param_5 + 0x6c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);" (call_expression "(*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4)" (parenthesized_expression "(*(code *)PTR__M_install_cache_004c2d18)" ( (pointer_expression "*(code *)PTR__M_install_cache_004c2d18" * (cast_expression "(code *)PTR__M_install_cache_004c2d18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4)" ( (pointer_expression "*(undefined4 *)(param_5 + 0x6c)" * (cast_expression "(undefined4 *)(param_5 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x6c)" ( (binary_expression "param_5 + 0x6c" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "iVar13 = *piVar9;" (assignment_expression "iVar13 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) })) (expression_statement "pbVar12 = (byte *)*param_7;" (assignment_expression "pbVar12 = (byte *)*param_7" identifier = (cast_expression "(byte *)*param_7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (if_statement "if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" if (parenthesized_expression "(*pbVar12 == *(byte *)(iVar13 + 0x38))" ( (binary_expression "*pbVar12 == *(byte *)(iVar13 + 0x38)" (pointer_expression "*pbVar12" * identifier) == (pointer_expression "*(byte *)(iVar13 + 0x38)" * (cast_expression "(byte *)(iVar13 + 0x38)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }" { (expression_statement "local_58 = *(undefined4 *)(iVar13 + 0x34);" (assignment_expression "local_58 = *(undefined4 *)(iVar13 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(iVar13 + 0x34)" * (cast_expression "(undefined4 *)(iVar13 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x34)" ( (binary_expression "iVar13 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (param_7[1] == 0) goto LAB_003c2b1c;" if (parenthesized_expression "(param_7[1] == 0)" ( (binary_expression "param_7[1] == 0" (subscript_expression "param_7[1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_003c2b1c;" goto statement_identifier ;)) (expression_statement "local_40 = *(int *)(iVar13 + 0x24);" (assignment_expression "local_40 = *(int *)(iVar13 + 0x24)" identifier = (pointer_expression "*(int *)(iVar13 + 0x24)" * (cast_expression "(int *)(iVar13 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x24)" ( (binary_expression "iVar13 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar15 = *(uint *)(iVar13 + 0x28);" (assignment_expression "uVar15 = *(uint *)(iVar13 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar13 + 0x28)" * (cast_expression "(uint *)(iVar13 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" else (compound_statement "{\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" { (expression_statement "local_58 = *(undefined4 *)(iVar13 + 0x30);" (assignment_expression "local_58 = *(undefined4 *)(iVar13 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar13 + 0x30)" * (cast_expression "(undefined4 *)(iVar13 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(int *)(iVar13 + 0x1c);" (assignment_expression "local_40 = *(int *)(iVar13 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(iVar13 + 0x20);" (assignment_expression "uVar15 = *(uint *)(iVar13 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar13 + 0x20)" * (cast_expression "(uint *)(iVar13 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) ))))) ;) }))) (expression_statement "pbVar10 = pbVar12 + param_7[1];" (assignment_expression "pbVar10 = pbVar12 + param_7[1]" identifier = (binary_expression "pbVar12 + param_7[1]" identifier + (subscript_expression "param_7[1]" identifier [ number_literal ]))) ;) (if_statement "if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }" if (parenthesized_expression "((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0))" ( (binary_expression "(pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)" (parenthesized_expression "(pbVar12 < pbVar10)" ( (binary_expression "pbVar12 < pbVar10" identifier < identifier) )) && (parenthesized_expression "(pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)" ( (comma_expression "pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0" (assignment_expression "pbVar7 = pbVar12" identifier = identifier) , (binary_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8)" ( (binary_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8" (pointer_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" * (cast_expression "(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" ( (binary_expression "*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) + (binary_expression "(uint)*pbVar12 * 2" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }" { (do_statement "do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);" do (compound_statement "{\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    }" { (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }" if (parenthesized_expression "(pbVar10 == pbVar7)" ( (binary_expression "pbVar10 == pbVar7" identifier == identifier) )) (compound_statement "{\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }" { (expression_statement "uVar11 = (int)pbVar10 - (int)pbVar12;" (assignment_expression "uVar11 = (int)pbVar10 - (int)pbVar12" identifier = (binary_expression "(int)pbVar10 - (int)pbVar12" (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto joined_r0x003c2b0c;" goto statement_identifier ;) })) }) while (parenthesized_expression "((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0)" ( (binary_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8)" ( (binary_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8" (pointer_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" * (cast_expression "(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" ( (binary_expression "*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) + (binary_expression "(uint)*pbVar7 * 2" (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) ;) (expression_statement "uVar11 = (int)pbVar7 - (int)pbVar12;" (assignment_expression "uVar11 = (int)pbVar7 - (int)pbVar12" identifier = (binary_expression "(int)pbVar7 - (int)pbVar12" (cast_expression "(int)pbVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (labeled_statement "joined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" statement_identifier : (if_statement "if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" { (expression_statement "local_48 = &local_78;" (assignment_expression "local_48 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "local_78 = local_70;" (assignment_expression "local_78 = local_70" identifier = identifier) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70[0] = local_70[0] & 0xffffff;" (assignment_expression "local_70[0] = local_70[0] & 0xffffff" (subscript_expression "local_70[0]" identifier [ number_literal ]) = (binary_expression "local_70[0] & 0xffffff" (subscript_expression "local_70[0]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_38 = local_78;" (assignment_expression "local_38 = local_78" identifier = identifier) ;) (expression_statement "(*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);" (call_expression "(*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1)" (parenthesized_expression "(*(code *)PTR_reserve_004c2458)" ( (pointer_expression "*(code *)PTR_reserve_004c2458" * (cast_expression "(code *)PTR_reserve_004c2458" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,uVar11 << 1)" ( identifier , (binary_expression "uVar11 << 1" identifier << number_literal) ))) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x2c)" * (cast_expression "(int *)(iVar13 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = uVar11 - iVar3;" (assignment_expression "uVar16 = uVar11 - iVar3" identifier = (binary_expression "uVar11 - iVar3" identifier - identifier)) ;) (if_statement "if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }" if (parenthesized_expression "(0 < (int)uVar16)" ( (binary_expression "0 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }" { (if_statement "if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n          uVar16 = uVar11;\n        }" { (expression_statement "uVar16 = uVar11;" (assignment_expression "uVar16 = uVar11" identifier = identifier) ;) })) (if_statement "if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" if (parenthesized_expression "(*(int *)(iVar13 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar13 + 0xc) == 0" (pointer_expression "*(int *)(iVar13 + 0xc)" * (cast_expression "(int *)(iVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }" { (expression_statement "(*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,0,local_74,pbVar12,uVar16)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x2c)" * (cast_expression "(int *)(iVar13 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" else (compound_statement "{\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" { (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0)" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" ( (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" * (cast_expression "(code *)PTR__M_replace_aux_004c258c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,0,local_74,uVar16 << 1,0)" ( identifier , number_literal , identifier , (binary_expression "uVar16 << 1" identifier << number_literal) , number_literal ))) ;) (expression_statement "puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);" (assignment_expression "puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" identifier = (cast_expression "(undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" (parenthesized_expression "(*(code *)PTR___add_grouping<char>_004c2cf8)" ( (binary_expression "*(code *)PTR___add_grouping<char>_004c2cf8" (binary_expression "*(code *)PTR___add_grouping<char" (pointer_expression "*(code *)PTR___add_grouping" * (cast_expression "(code *)PTR___add_grouping" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) > identifier) )) (argument_list "(local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" ( identifier , (cast_expression "(int)*(char *)(iVar13 + 0x12)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(iVar13 + 0x12)" * (cast_expression "(char *)(iVar13 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x12)" ( (binary_expression "iVar13 + 0x12" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar13 + 8)" * (cast_expression "(undefined4 *)(iVar13 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar13 + 0xc)" * (cast_expression "(undefined4 *)(iVar13 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) )))) , identifier , (binary_expression "pbVar12 + uVar16" identifier + identifier) ))))) ;) (if_statement "if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }" if (parenthesized_expression "(local_74 < (uint)((int)puVar5 - (int)local_78))" ( (binary_expression "local_74 < (uint)((int)puVar5 - (int)local_78)" identifier < (call_expression "(uint)((int)puVar5 - (int)local_78)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar5 - (int)local_78)" ( (binary_expression "(int)puVar5 - (int)local_78" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }" { (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" (parenthesized_expression "(*(code *)PTR___throw_out_of_range_fmt_004c225c)" ( (pointer_expression "*(code *)PTR___throw_out_of_range_fmt_004c225c" * (cast_expression "(code *)PTR___throw_out_of_range_fmt_004c225c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" ( (binary_expression "PTR_s__s_004c1a50 + -0xe00" identifier + number_literal) , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3894" identifier + number_literal) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x2c)" * (cast_expression "(int *)(iVar13 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "local_74 = (int)puVar5 - (int)local_78;" (assignment_expression "local_74 = (int)puVar5 - (int)local_78" identifier = (binary_expression "(int)puVar5 - (int)local_78" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) })) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" identifier = (cast_expression "(byte *)local_74" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }" { (expression_statement "local_44 = (undefined1 **)(local_74 + 1);" (assignment_expression "local_44 = (undefined1 **)(local_74 + 1)" identifier = (cast_expression "(undefined1 **)(local_74 + 1)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_74 + 1)" ( (binary_expression "local_74 + 1" identifier + number_literal) )))) ;) (expression_statement "local_3c = (uint)*(char *)(iVar13 + 0x11);" (assignment_expression "local_3c = (uint)*(char *)(iVar13 + 0x11)" identifier = (binary_expression "(uint)*(char *)(iVar13 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(iVar13 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x11)" ( (binary_expression "iVar13 + 0x11" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = 0xf;" (assignment_expression "uVar8 = 0xf" identifier = number_literal) ;) (if_statement "if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }" if (parenthesized_expression "(local_78 != local_38)" ( (binary_expression "local_78 != local_38" identifier != identifier) )) (compound_statement "{\n          uVar8 = local_70[0];\n        }" { (expression_statement "uVar8 = local_70[0];" (assignment_expression "uVar8 = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) })) (if_statement "if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }" if (parenthesized_expression "(uVar8 < local_44)" ( (binary_expression "uVar8 < local_44" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }" { (expression_statement "(*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" ( (pointer_expression "*(code *)PTR__M_mutate_004c2090" * (cast_expression "(code *)PTR__M_mutate_004c2090" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,local_74,0,0,1)" ( identifier , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(char *)((int)local_78 + (int)local_50) = (char)local_3c;" (assignment_expression "*(char *)((int)local_78 + (int)local_50) = (char)local_3c" (pointer_expression "*(char *)((int)local_78 + (int)local_50)" * (cast_expression "(char *)((int)local_78 + (int)local_50)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_78 + (int)local_50)" ( (binary_expression "(int)local_78 + (int)local_50" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (cast_expression "(char)local_3c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "local_74 = (uint)local_44;" (assignment_expression "local_74 = (uint)local_44" identifier = (cast_expression "(uint)local_44" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)local_78 + (int)local_44) = 0;" (assignment_expression "*(undefined1 *)((int)local_78 + (int)local_44) = 0" (pointer_expression "*(undefined1 *)((int)local_78 + (int)local_44)" * (cast_expression "(undefined1 *)((int)local_78 + (int)local_44)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_78 + (int)local_44)" ( (binary_expression "(int)local_78 + (int)local_44" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (if_statement "if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" if (parenthesized_expression "((int)uVar16 < 0)" ( (binary_expression "(int)uVar16 < 0" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }" { (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39))" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" ( (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" * (cast_expression "(code *)PTR__M_replace_aux_004c258c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39))" ( identifier , identifier , number_literal , (unary_expression "-uVar16" - identifier) , (cast_expression "(int)*(char *)(iVar13 + 0x39)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(iVar13 + 0x39)" * (cast_expression "(char *)(iVar13 + 0x39)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x39)" ( (binary_expression "iVar13 + 0x39" identifier + number_literal) ))))) ))) ;) (if_statement "if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }" if (parenthesized_expression "(0x7fffffff - local_74 < uVar11)" ( (binary_expression "0x7fffffff - local_74 < uVar11" (binary_expression "0x7fffffff - local_74" number_literal - identifier) < identifier) )) (compound_statement "{\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }" { (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48,pbVar12,uVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" identifier = (cast_expression "(byte *)local_74" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" else (compound_statement "{\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" { (if_statement "if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }" if (parenthesized_expression "(0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c))" ( (binary_expression "0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)" (binary_expression "0x7fffffffU - (int)local_44" number_literal - (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier)) < (pointer_expression "*(uint *)(iVar13 + 0x2c)" * (cast_expression "(uint *)(iVar13 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }" { (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) , (binary_expression "pbVar12 + uVar16" identifier + identifier) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_48);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_48)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48)" ( identifier ))) ;) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" identifier = (cast_expression "(byte *)local_74" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) })) (expression_statement "local_48 = (uint **)(uVar15 + (int)local_50);" (assignment_expression "local_48 = (uint **)(uVar15 + (int)local_50)" identifier = (cast_expression "(uint **)(uVar15 + (int)local_50)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar15 + (int)local_50)" ( (binary_expression "uVar15 + (int)local_50" identifier + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_3c = *(uint *)(param_5 + 0xc) & 0xb0;" (assignment_expression "local_3c = *(uint *)(param_5 + 0xc) & 0xb0" identifier = (binary_expression "*(uint *)(param_5 + 0xc) & 0xb0" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }" if (parenthesized_expression "((*(uint *)(param_5 + 0xc) & 0x200) != 0)" ( (binary_expression "(*(uint *)(param_5 + 0xc) & 0x200) != 0" (parenthesized_expression "(*(uint *)(param_5 + 0xc) & 0x200)" ( (binary_expression "*(uint *)(param_5 + 0xc) & 0x200" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }" { (expression_statement "local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));" (assignment_expression "local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18))" identifier = (cast_expression "(uint **)((int)local_48 + *(int *)(iVar13 + 0x18))" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_48 + *(int *)(iVar13 + 0x18))" ( (binary_expression "(int)local_48 + *(int *)(iVar13 + 0x18)" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) ))))) )))) ;) })) (expression_statement "local_90 = local_88;" (assignment_expression "local_90 = local_88" identifier = identifier) ;) (expression_statement "local_44 = &local_90;" (assignment_expression "local_44 = &local_90" identifier = (pointer_expression "&local_90" & identifier)) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_74 = (uint)local_50;" (assignment_expression "local_74 = (uint)local_50" identifier = (cast_expression "(uint)local_50" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_30 = local_90;" (assignment_expression "local_30 = local_90" identifier = identifier) ;) (expression_statement "(*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);" (call_expression "(*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1)" (parenthesized_expression "(*(code *)PTR_reserve_004c2458)" ( (pointer_expression "*(code *)PTR_reserve_004c2458" * (cast_expression "(code *)PTR_reserve_004c2458" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_44,(int)local_48 << 1)" ( identifier , (binary_expression "(int)local_48 << 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) ;) (expression_statement "uVar11 = *(uint *)(param_5 + 8);" (assignment_expression "uVar11 = *(uint *)(param_5 + 8)" identifier = (pointer_expression "*(uint *)(param_5 + 8)" * (cast_expression "(uint *)(param_5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) ))))) ;) (if_statement "if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }" if (parenthesized_expression "(local_3c == 0x10)" ( (binary_expression "local_3c == 0x10" identifier == number_literal) )) (compound_statement "{\n        local_34 = (uint)(local_48 < uVar11);\n      }" { (expression_statement "local_34 = (uint)(local_48 < uVar11);" (assignment_expression "local_34 = (uint)(local_48 < uVar11)" identifier = (call_expression "(uint)(local_48 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_48 < uVar11)" ( (binary_expression "local_48 < uVar11" identifier < identifier) )))) ;) }) (else_clause "else {\n        local_34 = 0;\n      }" else (compound_statement "{\n        local_34 = 0;\n      }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) }))) (expression_statement "local_50 = abStack_54;" (assignment_expression "local_50 = abStack_54" identifier = identifier) ;) (expression_statement "pbVar12 = (byte *)&local_58;" (assignment_expression "pbVar12 = (byte *)&local_58" identifier = (cast_expression "(byte *)&local_58" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier))) ;) (expression_statement "local_48 = (uint **)(uVar11 - (int)local_48);" (assignment_expression "local_48 = (uint **)(uVar11 - (int)local_48)" identifier = (cast_expression "(uint **)(uVar11 - (int)local_48)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar11 - (int)local_48)" ( (binary_expression "uVar11 - (int)local_48" identifier - (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_2c = 0x7fffffff;" (assignment_expression "local_2c = 0x7fffffff" identifier = number_literal) ;) (do_statement "do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);" do (compound_statement "{\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      }" { (if_statement "if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }" if (parenthesized_expression "(*pbVar12 < 5)" ( (binary_expression "*pbVar12 < 5" (pointer_expression "*pbVar12" * identifier) < number_literal) )) (compound_statement "{\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }" { (expression_statement "puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();" (assignment_expression "puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))()" identifier = (cast_expression "(undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))()" (parenthesized_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))" ( (pointer_expression "*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210)" * (cast_expression "(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210" (binary_expression "default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" identifier + (pointer_expression "*(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" * (cast_expression "(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" ( (binary_expression "PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c" (binary_expression "PTR_UINT_004c12dc + (uint)*pbVar12 * 4" identifier + (binary_expression "(uint)*pbVar12 * 4" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) + number_literal) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != pbVar12)" ( (binary_expression "local_50 != pbVar12" identifier != identifier) )) ;) (expression_statement "uVar16 = local_8c;" (assignment_expression "uVar16 = local_8c" identifier = identifier) ;) (if_statement "if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }" if (parenthesized_expression "(1 < uVar15)" ( (binary_expression "1 < uVar15" number_literal < identifier) )) (compound_statement "{\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }" { (if_statement "if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }" if (parenthesized_expression "(0x7fffffff - local_8c < uVar15 - 1)" ( (binary_expression "0x7fffffff - local_8c < uVar15 - 1" (binary_expression "0x7fffffff - local_8c" number_literal - identifier) < (binary_expression "uVar15 - 1" identifier - number_literal)) )) (compound_statement "{\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }" { (expression_statement "puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);" (assignment_expression "puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" identifier = (cast_expression "(undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) , (binary_expression "local_40 + 1" identifier + number_literal) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_44);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_44)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_44)" ( identifier ))) ;) (expression_statement "uVar16 = local_8c;" (assignment_expression "uVar16 = local_8c" identifier = identifier) ;) })) (expression_statement "local_8c = uVar16;" (assignment_expression "local_8c = uVar16" identifier = identifier) ;) (if_statement "if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }" if (parenthesized_expression "(uVar16 < uVar11)" ( (binary_expression "uVar16 < uVar11" identifier < identifier) )) (compound_statement "{\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }" { (expression_statement "uVar15 = uVar16;" (assignment_expression "uVar15 = uVar16" identifier = identifier) ;) (if_statement "if (local_3c != 0x20) {\n          uVar15 = 0;\n        }" if (parenthesized_expression "(local_3c != 0x20)" ( (binary_expression "local_3c != 0x20" identifier != number_literal) )) (compound_statement "{\n          uVar15 = 0;\n        }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c)" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" ( (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" * (cast_expression "(code *)PTR__M_replace_aux_004c258c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_44,uVar15,0,uVar11 - uVar16,local_4c)" ( identifier , identifier , number_literal , (binary_expression "uVar11 - uVar16" identifier - identifier) , identifier ))) ;) (expression_statement "uVar16 = uVar11;" (assignment_expression "uVar16 = uVar11" identifier = identifier) ;) })) (if_statement "if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }" if (parenthesized_expression "(param_4 >> 0x18 == 0)" ( (binary_expression "param_4 >> 0x18 == 0" (binary_expression "param_4 >> 0x18" identifier >> number_literal) == number_literal) )) (compound_statement "{\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }" { (expression_statement "uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);" (assignment_expression "uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16)" identifier = (call_expression "(**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16)" (parenthesized_expression "(**(code **)(*param_3 + 0x30))" ( (pointer_expression "**(code **)(*param_3 + 0x30)" * (pointer_expression "*(code **)(*param_3 + 0x30)" * (cast_expression "(code **)(*param_3 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x30)" ( (binary_expression "*param_3 + 0x30" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_3,local_90,uVar16)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar14 = uVar15 != uVar16;" (assignment_expression "uVar14 = uVar15 != uVar16" identifier = (binary_expression "uVar15 != uVar16" identifier != identifier)) ;) })) (expression_statement "local_resc._1_3_ = (undefined3)param_4;" (assignment_expression "local_resc._1_3_ = (undefined3)param_4" (field_expression "local_resc._1_3_" identifier . field_identifier) = (cast_expression "(undefined3)param_4" ( (type_descriptor "undefined3" type_identifier) ) identifier)) ;) (expression_statement "local_resc = CONCAT13(uVar14,local_resc._1_3_);" (assignment_expression "local_resc = CONCAT13(uVar14,local_resc._1_3_)" identifier = (call_expression "CONCAT13(uVar14,local_resc._1_3_)" identifier (argument_list "(uVar14,local_resc._1_3_)" ( identifier , (field_expression "local_resc._1_3_" identifier . field_identifier) )))) ;) (if_statement "if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }" if (parenthesized_expression "(local_90 != local_30)" ( (binary_expression "local_90 != local_30" identifier != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(local_90);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(local_90)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_90)" ( identifier ))) ;) })) (if_statement "if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "(local_78 != local_38)" ( (binary_expression "local_78 != local_38" identifier != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }))) })) (labeled_statement "LAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);" statement_identifier : (expression_statement "local_resc = CONCAT13(uVar14,local_resc._1_3_);" (assignment_expression "local_resc = CONCAT13(uVar14,local_resc._1_3_)" identifier = (call_expression "CONCAT13(uVar14,local_resc._1_3_)" identifier (argument_list "(uVar14,local_resc._1_3_)" ( identifier , (field_expression "local_resc._1_3_" identifier . field_identifier) )))) ;)) (expression_statement "*param_1 = param_3;" (assignment_expression "*param_1 = param_3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "*(undefined4 *)(param_5 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_5 + 8) = 0" (pointer_expression "*(undefined4 *)(param_5 + 8)" * (cast_expression "(undefined4 *)(param_5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[1] = local_resc;" (assignment_expression "param_1[1] = local_resc" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return param_1;" return identifier ;) }))
(translation_unit (ERROR (binary_expression (binary_expression IDENT * IDENT) (ERROR : : IDENT) < IDENT) ,) (labeled_statement statement_identifier (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) :) : (expression_statement (binary_expression (binary_expression (binary_expression IDENT < (binary_expression IDENT >> (ERROR > : :) IDENT)) < BOOL) > (parenthesized_expression ( (comma_expression (binary_expression IDENT * IDENT) , (comma_expression IDENT (ERROR IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (ERROR IDENT) (comma_expression IDENT , (ERROR IDENT) (comma_expression IDENT , (ERROR IDENT) (comma_expression IDENT , (binary_expression IDENT * IDENT))))))) ))) ;)) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) < (binary_expression IDENT >> IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) * LIT)) )))) & LIT) )) != LIT)) ))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) * LIT)) )))) & LIT) )) != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT << LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT << LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) > IDENT) )) (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (binary_expression IDENT + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , LIT , LIT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , (unary_expression - IDENT) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + IDENT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (ERROR IDENT : : IDENT : :) (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) * LIT)) + LIT) ))))) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - IDENT) < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression IDENT - IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) == LIT) )) (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 , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != IDENT)) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return IDENT ;) }))
(ERROR "undefined4 *\nstd::money_put<char," (binary_expression "undefined4 *\nstd::money_put<char" (binary_expression "undefined4 *\nstd" (identifier "undefined4") (* "*") (identifier "std")) (ERROR "::money_put" (: ":") (: ":") (identifier "money_put")) (< "<") (identifier "char")) (, ",")) (labeled_statement "std::ostreambuf_iterator<char,std::char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (statement_identifier "std") (ERROR "::ostreambuf_iterator<char,std:" (: ":") (: ":") (comma_expression "ostreambuf_iterator<char,std" (binary_expression "ostreambuf_iterator<char" (identifier "ostreambuf_iterator") (< "<") (identifier "char")) (, ",") (identifier "std")) (: ":")) (: ":") (expression_statement "char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (binary_expression "char_traits<char>>>::_M_insert<false>\n          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (binary_expression "char_traits<char>>>::_M_insert<false" (binary_expression "char_traits<char>>>::_M_insert" (identifier "char_traits") (< "<") (binary_expression "char>>>::_M_insert" (identifier "char") (>> ">>") (ERROR ">::" (> ">") (: ":") (: ":")) (identifier "_M_insert"))) (< "<") (false "false")) (> ">") (parenthesized_expression "(undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7)" (( "(") (comma_expression "undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" (binary_expression "undefined4 *param_1" (identifier "undefined4") (* "*") (identifier "param_1")) (, ",") (comma_expression "undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" (identifier "undefined4") (ERROR "param_2" (identifier "param_2")) (, ",") (comma_expression "int *param_3,uint param_4,int param_5,char param_6\n          ,undefined4 *param_7" (binary_expression "int *param_3" (identifier "int") (* "*") (identifier "param_3")) (, ",") (ERROR "uint" (identifier "uint")) (comma_expression "param_4,int param_5,char param_6\n          ,undefined4 *param_7" (identifier "param_4") (, ",") (ERROR "int" (identifier "int")) (comma_expression "param_5,char param_6\n          ,undefined4 *param_7" (identifier "param_5") (, ",") (ERROR "char" (identifier "char")) (comma_expression "param_6\n          ,undefined4 *param_7" (identifier "param_6") (, ",") (binary_expression "undefined4 *param_7" (identifier "undefined4") (* "*") (identifier "param_7")))))))) () ")"))) (; ""))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined4 *puVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int *piVar9;\n  byte *pbVar10;\n  uint uVar11;\n  byte *pbVar12;\n  int iVar13;\n  undefined1 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint local_resc;\n  undefined1 *local_90;\n  uint local_8c;\n  undefined1 local_88 [16];\n  uint *local_78;\n  uint local_74;\n  uint local_70 [6];\n  undefined4 local_58;\n  byte abStack_54 [4];\n  byte *local_50;\n  int local_4c;\n  uint **local_48;\n  undefined1 **local_44;\n  int local_40;\n  uint local_3c;\n  uint *local_38;\n  uint local_34;\n  undefined1 *local_30;\n  undefined4 local_2c;\n  \n  local_4c = (int)param_6;\n  uVar14 = (undefined1)(param_4 >> 0x18);\n  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);\n  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);\n  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);\n  iVar13 = *piVar9;\n  if (iVar13 == 0) {\n                    \n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    \n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }\n  pbVar12 = (byte *)*param_7;\n  local_resc = param_4;\n  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }\n  pbVar10 = pbVar12 + param_7[1];\n  if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }\nLAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);\n  *param_1 = param_3;\n  *(undefined4 *)(param_5 + 8) = 0;\n  param_1[1] = local_resc;\n  return param_1;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined1 uVar14;" (type_identifier "undefined1") (identifier "uVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "uint local_resc;" (type_identifier "uint") (identifier "local_resc") (; ";")) (declaration "undefined1 *local_90;" (type_identifier "undefined1") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "uint local_8c;" (type_identifier "uint") (identifier "local_8c") (; ";")) (declaration "undefined1 local_88 [16];" (type_identifier "undefined1") (array_declarator "local_88 [16]" (identifier "local_88") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "uint *local_78;" (type_identifier "uint") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "uint local_74;" (type_identifier "uint") (identifier "local_74") (; ";")) (declaration "uint local_70 [6];" (type_identifier "uint") (array_declarator "local_70 [6]" (identifier "local_70") ([ "[") (number_literal "6") (] "]")) (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "byte abStack_54 [4];" (type_identifier "byte") (array_declarator "abStack_54 [4]" (identifier "abStack_54") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "byte *local_50;" (type_identifier "byte") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "uint **local_48;" (type_identifier "uint") (pointer_declarator "**local_48" (* "*") (pointer_declarator "*local_48" (* "*") (identifier "local_48"))) (; ";")) (declaration "undefined1 **local_44;" (type_identifier "undefined1") (pointer_declarator "**local_44" (* "*") (pointer_declarator "*local_44" (* "*") (identifier "local_44"))) (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "uint *local_38;" (type_identifier "uint") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "undefined1 *local_30;" (type_identifier "undefined1") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (expression_statement "local_4c = (int)param_6;" (assignment_expression "local_4c = (int)param_6" (identifier "local_4c") (= "=") (cast_expression "(int)param_6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_6"))) (; ";")) (expression_statement "uVar14 = (undefined1)(param_4 >> 0x18);" (assignment_expression "uVar14 = (undefined1)(param_4 >> 0x18)" (identifier "uVar14") (= "=") (call_expression "(undefined1)(param_4 >> 0x18)" (parenthesized_expression "(undefined1)" (( "(") (identifier "undefined1") () ")")) (argument_list "(param_4 >> 0x18)" (( "(") (binary_expression "param_4 >> 0x18" (identifier "param_4") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);" (assignment_expression "iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c)" (parenthesized_expression "(*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)" (( "(") (binary_expression "*(code *)PTR_use_facet<std_ctype<char>>_004c2c84" (binary_expression "*(code *)PTR_use_facet<std_ctype" (pointer_expression "*(code *)PTR_use_facet" (* "*") (cast_expression "(code *)PTR_use_facet" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_use_facet"))) (< "<") (identifier "std_ctype")) (< "<") (binary_expression "char>>_004c2c84" (identifier "char") (>> ">>") (identifier "_004c2c84"))) () ")")) (argument_list "(param_5 + 0x6c)" (( "(") (binary_expression "param_5 + 0x6c" (identifier "param_5") (+ "+") (number_literal "0x6c")) () ")")))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc)" (parenthesized_expression "(*(code *)PTR__M_id_004c2c74)" (( "(") (pointer_expression "*(code *)PTR__M_id_004c2c74" (* "*") (cast_expression "(code *)PTR__M_id_004c2c74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_004c2c74"))) () ")")) (argument_list "(PTR_id_004c32cc)" (( "(") (identifier "PTR_id_004c32cc") () ")")))) (; ";")) (expression_statement "piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);" (assignment_expression "piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" (identifier "piVar9") (= "=") (cast_expression "(int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4)" (( "(") (binary_expression "*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4" (pointer_expression "*(int *)(*(int *)(param_5 + 0x6c) + 0xc)" (* "*") (cast_expression "(int *)(*(int *)(param_5 + 0x6c) + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_5 + 0x6c) + 0xc)" (( "(") (binary_expression "*(int *)(param_5 + 0x6c) + 0xc" (pointer_expression "*(int *)(param_5 + 0x6c)" (* "*") (cast_expression "(int *)(param_5 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x6c)" (( "(") (binary_expression "param_5 + 0x6c" (identifier "param_5") (+ "+") (number_literal "0x6c")) () ")")))) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar13 = *piVar9;" (assignment_expression "iVar13 = *piVar9" (identifier "iVar13") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (if_statement "if (iVar13 == 0) {\n                    \n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    \n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);\n    puVar6[1] = 0;\n    puVar6[2] = 0;\n    puVar6[3] = 0;\n    puVar2 = PTR__M_cache_004c2d20;\n    puVar1 = PTR_vtable_004c13d4;\n    *(undefined2 *)(puVar6 + 4) = 0;\n    *(undefined1 *)((int)puVar6 + 0x12) = 0;\n    puVar6[5] = 0;\n    *puVar6 = puVar1 + 8;\n    puVar6[6] = 0;\n    puVar6[7] = 0;\n    puVar6[8] = 0;\n    puVar6[9] = 0;\n    puVar6[10] = 0;\n    puVar6[0xb] = 0;\n    puVar6[0xc] = 0;\n    puVar6[0xd] = 0;\n                    \n    *(undefined1 *)((int)puVar6 + 0x43) = 0;\n    (*(code *)puVar2)(puVar6,param_5 + 0x6c);\n    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);\n    iVar13 = *piVar9;\n  }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x44)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" (( "(") (pointer_expression "*(code *)PTR_operator_new_004c13a8" (* "*") (cast_expression "(code *)PTR_operator_new_004c13a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_004c13a8"))) () ")")) (argument_list "(0x44)" (( "(") (number_literal "0x44") () ")"))))) (; ";")) (expression_statement "puVar6[1] = 0;" (assignment_expression "puVar6[1] = 0" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[2] = 0;" (assignment_expression "puVar6[2] = 0" (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = PTR__M_cache_004c2d20;" (assignment_expression "puVar2 = PTR__M_cache_004c2d20" (identifier "puVar2") (= "=") (identifier "PTR__M_cache_004c2d20")) (; ";")) (expression_statement "puVar1 = PTR_vtable_004c13d4;" (assignment_expression "puVar1 = PTR_vtable_004c13d4" (identifier "puVar1") (= "=") (identifier "PTR_vtable_004c13d4")) (; ";")) (expression_statement "*(undefined2 *)(puVar6 + 4) = 0;" (assignment_expression "*(undefined2 *)(puVar6 + 4) = 0" (pointer_expression "*(undefined2 *)(puVar6 + 4)" (* "*") (cast_expression "(undefined2 *)(puVar6 + 4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 4)" (( "(") (binary_expression "puVar6 + 4" (identifier "puVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar6 + 0x12) = 0;" (assignment_expression "*(undefined1 *)((int)puVar6 + 0x12) = 0" (pointer_expression "*(undefined1 *)((int)puVar6 + 0x12)" (* "*") (cast_expression "(undefined1 *)((int)puVar6 + 0x12)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 + 0x12)" (( "(") (binary_expression "(int)puVar6 + 0x12" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (+ "+") (number_literal "0x12")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" (identifier "puVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar6 = puVar1 + 8;" (assignment_expression "*puVar6 = puVar1 + 8" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (binary_expression "puVar1 + 8" (identifier "puVar1") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar6[6] = 0;" (assignment_expression "puVar6[6] = 0" (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[7] = 0;" (assignment_expression "puVar6[7] = 0" (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[8] = 0;" (assignment_expression "puVar6[8] = 0" (subscript_expression "puVar6[8]" (identifier "puVar6") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[9] = 0;" (assignment_expression "puVar6[9] = 0" (subscript_expression "puVar6[9]" (identifier "puVar6") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[10] = 0;" (assignment_expression "puVar6[10] = 0" (subscript_expression "puVar6[10]" (identifier "puVar6") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[0xb] = 0;" (assignment_expression "puVar6[0xb] = 0" (subscript_expression "puVar6[0xb]" (identifier "puVar6") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[0xc] = 0;" (assignment_expression "puVar6[0xc] = 0" (subscript_expression "puVar6[0xc]" (identifier "puVar6") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[0xd] = 0;" (assignment_expression "puVar6[0xd] = 0" (subscript_expression "puVar6[0xd]" (identifier "puVar6") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar6 + 0x43) = 0;" (assignment_expression "*(undefined1 *)((int)puVar6 + 0x43) = 0" (pointer_expression "*(undefined1 *)((int)puVar6 + 0x43)" (* "*") (cast_expression "(undefined1 *)((int)puVar6 + 0x43)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 + 0x43)" (( "(") (binary_expression "(int)puVar6 + 0x43" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (+ "+") (number_literal "0x43")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)puVar2)(puVar6,param_5 + 0x6c);" (call_expression "(*(code *)puVar2)(puVar6,param_5 + 0x6c)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(puVar6,param_5 + 0x6c)" (( "(") (identifier "puVar6") (, ",") (binary_expression "param_5 + 0x6c" (identifier "param_5") (+ "+") (number_literal "0x6c")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);" (call_expression "(*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4)" (parenthesized_expression "(*(code *)PTR__M_install_cache_004c2d18)" (( "(") (pointer_expression "*(code *)PTR__M_install_cache_004c2d18" (* "*") (cast_expression "(code *)PTR__M_install_cache_004c2d18" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_install_cache_004c2d18"))) () ")")) (argument_list "(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4)" (( "(") (pointer_expression "*(undefined4 *)(param_5 + 0x6c)" (* "*") (cast_expression "(undefined4 *)(param_5 + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x6c)" (( "(") (binary_expression "param_5 + 0x6c" (identifier "param_5") (+ "+") (number_literal "0x6c")) () ")")))) (, ",") (identifier "puVar6") (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "iVar13 = *piVar9;" (assignment_expression "iVar13 = *piVar9" (identifier "iVar13") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (} "}"))) (expression_statement "pbVar12 = (byte *)*param_7;" (assignment_expression "pbVar12 = (byte *)*param_7" (identifier "pbVar12") (= "=") (cast_expression "(byte *)*param_7" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7")))) (; ";")) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" (identifier "local_resc") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }\n  else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" (if "if") (parenthesized_expression "(*pbVar12 == *(byte *)(iVar13 + 0x38))" (( "(") (binary_expression "*pbVar12 == *(byte *)(iVar13 + 0x38)" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (== "==") (pointer_expression "*(byte *)(iVar13 + 0x38)" (* "*") (cast_expression "(byte *)(iVar13 + 0x38)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x38)" (( "(") (binary_expression "iVar13 + 0x38" (identifier "iVar13") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (compound_statement "{\n    local_58 = *(undefined4 *)(iVar13 + 0x34);\n    if (param_7[1] == 0) goto LAB_003c2b1c;\n    local_40 = *(int *)(iVar13 + 0x24);\n    pbVar12 = pbVar12 + 1;\n    uVar15 = *(uint *)(iVar13 + 0x28);\n  }" ({ "{") (expression_statement "local_58 = *(undefined4 *)(iVar13 + 0x34);" (assignment_expression "local_58 = *(undefined4 *)(iVar13 + 0x34)" (identifier "local_58") (= "=") (pointer_expression "*(undefined4 *)(iVar13 + 0x34)" (* "*") (cast_expression "(undefined4 *)(iVar13 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x34)" (( "(") (binary_expression "iVar13 + 0x34" (identifier "iVar13") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (if_statement "if (param_7[1] == 0) goto LAB_003c2b1c;" (if "if") (parenthesized_expression "(param_7[1] == 0)" (( "(") (binary_expression "param_7[1] == 0" (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_003c2b1c;" (goto "goto") (statement_identifier "LAB_003c2b1c") (; ";"))) (expression_statement "local_40 = *(int *)(iVar13 + 0x24);" (assignment_expression "local_40 = *(int *)(iVar13 + 0x24)" (identifier "local_40") (= "=") (pointer_expression "*(int *)(iVar13 + 0x24)" (* "*") (cast_expression "(int *)(iVar13 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x24)" (( "(") (binary_expression "iVar13 + 0x24" (identifier "iVar13") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar15 = *(uint *)(iVar13 + 0x28);" (assignment_expression "uVar15 = *(uint *)(iVar13 + 0x28)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(iVar13 + 0x28)" (* "*") (cast_expression "(uint *)(iVar13 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x28)" (( "(") (binary_expression "iVar13 + 0x28" (identifier "iVar13") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" (else "else") (compound_statement "{\n    local_58 = *(undefined4 *)(iVar13 + 0x30);\n    local_40 = *(int *)(iVar13 + 0x1c);\n    uVar15 = *(uint *)(iVar13 + 0x20);\n  }" ({ "{") (expression_statement "local_58 = *(undefined4 *)(iVar13 + 0x30);" (assignment_expression "local_58 = *(undefined4 *)(iVar13 + 0x30)" (identifier "local_58") (= "=") (pointer_expression "*(undefined4 *)(iVar13 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar13 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x30)" (( "(") (binary_expression "iVar13 + 0x30" (identifier "iVar13") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_40 = *(int *)(iVar13 + 0x1c);" (assignment_expression "local_40 = *(int *)(iVar13 + 0x1c)" (identifier "local_40") (= "=") (pointer_expression "*(int *)(iVar13 + 0x1c)" (* "*") (cast_expression "(int *)(iVar13 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x1c)" (( "(") (binary_expression "iVar13 + 0x1c" (identifier "iVar13") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(uint *)(iVar13 + 0x20);" (assignment_expression "uVar15 = *(uint *)(iVar13 + 0x20)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(iVar13 + 0x20)" (* "*") (cast_expression "(uint *)(iVar13 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x20)" (( "(") (binary_expression "iVar13 + 0x20" (identifier "iVar13") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}")))) (expression_statement "pbVar10 = pbVar12 + param_7[1];" (assignment_expression "pbVar10 = pbVar12 + param_7[1]" (identifier "pbVar10") (= "=") (binary_expression "pbVar12 + param_7[1]" (identifier "pbVar12") (+ "+") (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }" (if "if") (parenthesized_expression "((pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0))" (( "(") (binary_expression "(pbVar12 < pbVar10) &&\n     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)" (parenthesized_expression "(pbVar12 < pbVar10)" (( "(") (binary_expression "pbVar12 < pbVar10" (identifier "pbVar12") (< "<") (identifier "pbVar10")) () ")")) (&& "&&") (parenthesized_expression "(pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)" (( "(") (comma_expression "pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0" (assignment_expression "pbVar7 = pbVar12" (identifier "pbVar7") (= "=") (identifier "pbVar12")) (, ",") (binary_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8)" (( "(") (binary_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8" (pointer_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" (* "*") (cast_expression "(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2)" (( "(") (binary_expression "*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2" (pointer_expression "*(int *)(iVar3 + 0x18)" (* "*") (cast_expression "(int *)(iVar3 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x18)" (( "(") (binary_expression "iVar3 + 0x18" (identifier "iVar3") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (binary_expression "(uint)*pbVar12 * 2" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar12")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);\n    uVar11 = (int)pbVar7 - (int)pbVar12;\njoined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n  }" ({ "{") (do_statement "do {\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);" (do "do") (compound_statement "{\n      pbVar7 = pbVar7 + 1;\n      if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }\n    }" ({ "{") (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar10 == pbVar7) {\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }" (if "if") (parenthesized_expression "(pbVar10 == pbVar7)" (( "(") (binary_expression "pbVar10 == pbVar7" (identifier "pbVar10") (== "==") (identifier "pbVar7")) () ")")) (compound_statement "{\n        uVar11 = (int)pbVar10 - (int)pbVar12;\n        goto joined_r0x003c2b0c;\n      }" ({ "{") (expression_statement "uVar11 = (int)pbVar10 - (int)pbVar12;" (assignment_expression "uVar11 = (int)pbVar10 - (int)pbVar12" (identifier "uVar11") (= "=") (binary_expression "(int)pbVar10 - (int)pbVar12" (cast_expression "(int)pbVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar10")) (- "-") (cast_expression "(int)pbVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar12")))) (; ";")) (goto_statement "goto joined_r0x003c2b0c;" (goto "goto") (statement_identifier "joined_r0x003c2b0c") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0)" (( "(") (binary_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8)" (( "(") (binary_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8" (pointer_expression "*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" (* "*") (cast_expression "(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2)" (( "(") (binary_expression "*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2" (pointer_expression "*(int *)(iVar3 + 0x18)" (* "*") (cast_expression "(int *)(iVar3 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x18)" (( "(") (binary_expression "iVar3 + 0x18" (identifier "iVar3") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (binary_expression "(uint)*pbVar7 * 2" (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar7")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar11 = (int)pbVar7 - (int)pbVar12;" (assignment_expression "uVar11 = (int)pbVar7 - (int)pbVar12" (identifier "uVar11") (= "=") (binary_expression "(int)pbVar7 - (int)pbVar12" (cast_expression "(int)pbVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar7")) (- "-") (cast_expression "(int)pbVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar12")))) (; ";")) (labeled_statement "joined_r0x003c2b0c:\n    if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" (statement_identifier "joined_r0x003c2b0c") (: ":") (if_statement "if (uVar11 != 0) {\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_48 = &local_78;\n      local_78 = local_70;\n      local_74 = 0;\n      local_70[0] = local_70[0] & 0xffffff;\n      local_38 = local_78;\n                    \n      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);\n      iVar3 = *(int *)(iVar13 + 0x2c);\n      uVar16 = uVar11 - iVar3;\n      if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }\n      local_50 = (byte *)local_74;\n      if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }\n      local_48 = (uint **)(uVar15 + (int)local_50);\n      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;\n      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }\n      local_90 = local_88;\n      local_44 = &local_90;\n      local_8c = 0;\n                    \n      local_88[0] = 0;\n      local_74 = (uint)local_50;\n      local_30 = local_90;\n      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);\n      uVar11 = *(uint *)(param_5 + 8);\n      if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }\n      local_50 = abStack_54;\n      pbVar12 = (byte *)&local_58;\n      local_48 = (uint **)(uVar11 - (int)local_48);\n      local_2c = 0x7fffffff;\n      do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);\n      uVar16 = local_8c;\n      if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }\n      local_8c = uVar16;\n      if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }\n      if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }\n      local_resc._1_3_ = (undefined3)param_4;\n      local_resc = CONCAT13(uVar14,local_resc._1_3_);\n      if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }\n      if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" ({ "{") (expression_statement "local_48 = &local_78;" (assignment_expression "local_48 = &local_78" (identifier "local_48") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (expression_statement "local_78 = local_70;" (assignment_expression "local_78 = local_70" (identifier "local_78") (= "=") (identifier "local_70")) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70[0] = local_70[0] & 0xffffff;" (assignment_expression "local_70[0] = local_70[0] & 0xffffff" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_70[0] & 0xffffff" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (& "&") (number_literal "0xffffff"))) (; ";")) (expression_statement "local_38 = local_78;" (assignment_expression "local_38 = local_78" (identifier "local_38") (= "=") (identifier "local_78")) (; ";")) (expression_statement "(*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);" (call_expression "(*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1)" (parenthesized_expression "(*(code *)PTR_reserve_004c2458)" (( "(") (pointer_expression "*(code *)PTR_reserve_004c2458" (* "*") (cast_expression "(code *)PTR_reserve_004c2458" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_reserve_004c2458"))) () ")")) (argument_list "(local_48,uVar11 << 1)" (( "(") (identifier "local_48") (, ",") (binary_expression "uVar11 << 1" (identifier "uVar11") (<< "<<") (number_literal "1")) () ")"))) (; ";")) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar13 + 0x2c)" (* "*") (cast_expression "(int *)(iVar13 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2c)" (( "(") (binary_expression "iVar13 + 0x2c" (identifier "iVar13") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uVar16 = uVar11 - iVar3;" (assignment_expression "uVar16 = uVar11 - iVar3" (identifier "uVar16") (= "=") (binary_expression "uVar11 - iVar3" (identifier "uVar11") (- "-") (identifier "iVar3"))) (; ";")) (if_statement "if (0 < (int)uVar16) {\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }" (if "if") (parenthesized_expression "(0 < (int)uVar16)" (( "(") (binary_expression "0 < (int)uVar16" (number_literal "0") (< "<") (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16"))) () ")")) (compound_statement "{\n        if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }\n        if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }\n      }" ({ "{") (if_statement "if (iVar3 < 0) {\n          uVar16 = uVar11;\n        }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          uVar16 = uVar11;\n        }" ({ "{") (expression_statement "uVar16 = uVar11;" (assignment_expression "uVar16 = uVar11" (identifier "uVar16") (= "=") (identifier "uVar11")) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar13 + 0xc) == 0) {\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }\n        else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar13 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(iVar13 + 0xc) == 0" (pointer_expression "*(int *)(iVar13 + 0xc)" (* "*") (cast_expression "(int *)(iVar13 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0xc)" (( "(") (binary_expression "iVar13 + 0xc" (identifier "iVar13") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);\n          iVar3 = *(int *)(iVar13 + 0x2c);\n        }" ({ "{") (expression_statement "(*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" (( "(") (pointer_expression "*(code *)PTR__M_replace_004c20a0" (* "*") (cast_expression "(code *)PTR__M_replace_004c20a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_004c20a0"))) () ")")) (argument_list "(local_48,0,local_74,pbVar12,uVar16)" (( "(") (identifier "local_48") (, ",") (number_literal "0") (, ",") (identifier "local_74") (, ",") (identifier "pbVar12") (, ",") (identifier "uVar16") () ")"))) (; ";")) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar13 + 0x2c)" (* "*") (cast_expression "(int *)(iVar13 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2c)" (( "(") (binary_expression "iVar13 + 0x2c" (identifier "iVar13") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" (else "else") (compound_statement "{\n          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);\n          puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);\n          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }\n          *puVar5 = 0;\n          iVar3 = *(int *)(iVar13 + 0x2c);\n          local_74 = (int)puVar5 - (int)local_78;\n        }" ({ "{") (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0)" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" (( "(") (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" (* "*") (cast_expression "(code *)PTR__M_replace_aux_004c258c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_aux_004c258c"))) () ")")) (argument_list "(local_48,0,local_74,uVar16 << 1,0)" (( "(") (identifier "local_48") (, ",") (number_literal "0") (, ",") (identifier "local_74") (, ",") (binary_expression "uVar16 << 1" (identifier "uVar16") (<< "<<") (number_literal "1")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);" (assignment_expression "puVar5 = (undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)\n                   (*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___add_grouping<char>_004c2cf8)\n                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" (parenthesized_expression "(*(code *)PTR___add_grouping<char>_004c2cf8)" (( "(") (binary_expression "*(code *)PTR___add_grouping<char>_004c2cf8" (binary_expression "*(code *)PTR___add_grouping<char" (pointer_expression "*(code *)PTR___add_grouping" (* "*") (cast_expression "(code *)PTR___add_grouping" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___add_grouping"))) (< "<") (identifier "char")) (> ">") (identifier "_004c2cf8")) () ")")) (argument_list "(local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),\n                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16)" (( "(") (identifier "local_78") (, ",") (cast_expression "(int)*(char *)(iVar13 + 0x12)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)(iVar13 + 0x12)" (* "*") (cast_expression "(char *)(iVar13 + 0x12)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x12)" (( "(") (binary_expression "iVar13 + 0x12" (identifier "iVar13") (+ "+") (number_literal "0x12")) () ")"))))) (, ",") (pointer_expression "*(undefined4 *)(iVar13 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar13 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 8)" (( "(") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar13 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar13 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0xc)" (( "(") (binary_expression "iVar13 + 0xc" (identifier "iVar13") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "pbVar12") (, ",") (binary_expression "pbVar12 + uVar16" (identifier "pbVar12") (+ "+") (identifier "uVar16")) () ")"))))) (; ";")) (if_statement "if (local_74 < (uint)((int)puVar5 - (int)local_78)) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }" (if "if") (parenthesized_expression "(local_74 < (uint)((int)puVar5 - (int)local_78))" (( "(") (binary_expression "local_74 < (uint)((int)puVar5 - (int)local_78)" (identifier "local_74") (< "<") (call_expression "(uint)((int)puVar5 - (int)local_78)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)puVar5 - (int)local_78)" (( "(") (binary_expression "(int)puVar5 - (int)local_78" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (- "-") (cast_expression "(int)local_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_78"))) () ")")))) () ")")) (compound_statement "{\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);\n            return puVar6;\n          }" ({ "{") (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___throw_out_of_range_fmt_004c225c)\n                               (PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" (parenthesized_expression "(*(code *)PTR___throw_out_of_range_fmt_004c225c)" (( "(") (pointer_expression "*(code *)PTR___throw_out_of_range_fmt_004c225c" (* "*") (cast_expression "(code *)PTR___throw_out_of_range_fmt_004c225c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_out_of_range_fmt_004c225c"))) () ")")) (argument_list "(PTR_s__s_004c1a50 + -0xe00,\n                                PTR_s_in_a_linker_script_004c191c + 0x3894)" (( "(") (binary_expression "PTR_s__s_004c1a50 + -0xe00" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0xe00")) (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3894" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x3894")) () ")"))))) (; ";")) (return_statement "return puVar6;" (return "return") (identifier "puVar6") (; ";")) (} "}"))) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = *(int *)(iVar13 + 0x2c);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x2c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar13 + 0x2c)" (* "*") (cast_expression "(int *)(iVar13 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2c)" (( "(") (binary_expression "iVar13 + 0x2c" (identifier "iVar13") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "local_74 = (int)puVar5 - (int)local_78;" (assignment_expression "local_74 = (int)puVar5 - (int)local_78" (identifier "local_74") (= "=") (binary_expression "(int)puVar5 - (int)local_78" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (- "-") (cast_expression "(int)local_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_78")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" (identifier "local_50") (= "=") (cast_expression "(byte *)local_74" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_74"))) (; ";")) (if_statement "if (0 < iVar3) {\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }" (if "if") (parenthesized_expression "(0 < iVar3)" (( "(") (binary_expression "0 < iVar3" (number_literal "0") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n        local_44 = (undefined1 **)(local_74 + 1);\n        local_3c = (uint)*(char *)(iVar13 + 0x11);\n        uVar8 = 0xf;\n        if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }\n        if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }\n        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;\n        local_74 = (uint)local_44;\n        *(undefined1 *)((int)local_78 + (int)local_44) = 0;\n        if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }\n      }" ({ "{") (expression_statement "local_44 = (undefined1 **)(local_74 + 1);" (assignment_expression "local_44 = (undefined1 **)(local_74 + 1)" (identifier "local_44") (= "=") (cast_expression "(undefined1 **)(local_74 + 1)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_74 + 1)" (( "(") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_3c = (uint)*(char *)(iVar13 + 0x11);" (assignment_expression "local_3c = (uint)*(char *)(iVar13 + 0x11)" (identifier "local_3c") (= "=") (binary_expression "(uint)*(char *)(iVar13 + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)(iVar13 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x11)" (( "(") (binary_expression "iVar13 + 0x11" (identifier "iVar13") (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "uVar8 = 0xf;" (assignment_expression "uVar8 = 0xf" (identifier "uVar8") (= "=") (number_literal "0xf")) (; ";")) (if_statement "if (local_78 != local_38) {\n          uVar8 = local_70[0];\n        }" (if "if") (parenthesized_expression "(local_78 != local_38)" (( "(") (binary_expression "local_78 != local_38" (identifier "local_78") (!= "!=") (identifier "local_38")) () ")")) (compound_statement "{\n          uVar8 = local_70[0];\n        }" ({ "{") (expression_statement "uVar8 = local_70[0];" (assignment_expression "uVar8 = local_70[0]" (identifier "uVar8") (= "=") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (; ";")) (} "}"))) (if_statement "if (uVar8 < local_44) {\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }" (if "if") (parenthesized_expression "(uVar8 < local_44)" (( "(") (binary_expression "uVar8 < local_44" (identifier "uVar8") (< "<") (identifier "local_44")) () ")")) (compound_statement "{\n          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);\n        }" ({ "{") (expression_statement "(*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" (( "(") (pointer_expression "*(code *)PTR__M_mutate_004c2090" (* "*") (cast_expression "(code *)PTR__M_mutate_004c2090" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_mutate_004c2090"))) () ")")) (argument_list "(local_48,local_74,0,0,1)" (( "(") (identifier "local_48") (, ",") (identifier "local_74") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "*(char *)((int)local_78 + (int)local_50) = (char)local_3c;" (assignment_expression "*(char *)((int)local_78 + (int)local_50) = (char)local_3c" (pointer_expression "*(char *)((int)local_78 + (int)local_50)" (* "*") (cast_expression "(char *)((int)local_78 + (int)local_50)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_78 + (int)local_50)" (( "(") (binary_expression "(int)local_78 + (int)local_50" (cast_expression "(int)local_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_78")) (+ "+") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50"))) () ")")))) (= "=") (cast_expression "(char)local_3c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_3c"))) (; ";")) (expression_statement "local_74 = (uint)local_44;" (assignment_expression "local_74 = (uint)local_44" (identifier "local_74") (= "=") (cast_expression "(uint)local_44" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_44"))) (; ";")) (expression_statement "*(undefined1 *)((int)local_78 + (int)local_44) = 0;" (assignment_expression "*(undefined1 *)((int)local_78 + (int)local_44) = 0" (pointer_expression "*(undefined1 *)((int)local_78 + (int)local_44)" (* "*") (cast_expression "(undefined1 *)((int)local_78 + (int)local_44)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_78 + (int)local_44)" (( "(") (binary_expression "(int)local_78 + (int)local_44" (cast_expression "(int)local_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_78")) (+ "+") (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((int)uVar16 < 0) {\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }\n        else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" (if "if") (parenthesized_expression "((int)uVar16 < 0)" (( "(") (binary_expression "(int)uVar16 < 0" (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          (*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));\n          if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }\n          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);\n          local_50 = (byte *)local_74;\n        }" ({ "{") (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)\n                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39))" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" (( "(") (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" (* "*") (cast_expression "(code *)PTR__M_replace_aux_004c258c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_aux_004c258c"))) () ")")) (argument_list "(local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39))" (( "(") (identifier "local_48") (, ",") (identifier "local_44") (, ",") (number_literal "0") (, ",") (unary_expression "-uVar16" (- "-") (identifier "uVar16")) (, ",") (cast_expression "(int)*(char *)(iVar13 + 0x39)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)(iVar13 + 0x39)" (* "*") (cast_expression "(char *)(iVar13 + 0x39)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x39)" (( "(") (binary_expression "iVar13 + 0x39" (identifier "iVar13") (+ "+") (number_literal "0x39")) () ")"))))) () ")"))) (; ";")) (if_statement "if (0x7fffffff - local_74 < uVar11) {\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }" (if "if") (parenthesized_expression "(0x7fffffff - local_74 < uVar11)" (( "(") (binary_expression "0x7fffffff - local_74 < uVar11" (binary_expression "0x7fffffff - local_74" (number_literal "0x7fffffff") (- "-") (identifier "local_74")) (< "<") (identifier "uVar11")) () ")")) (compound_statement "{\n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n            return puVar6;\n          }" ({ "{") (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" (( "(") (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" (* "*") (cast_expression "(code *)PTR___throw_length_error_004c1e74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_length_error_004c1e74"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x446c")) () ")"))))) (; ";")) (return_statement "return puVar6;" (return "return") (identifier "puVar6") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" (( "(") (pointer_expression "*(code *)PTR__M_append_004c1e68" (* "*") (cast_expression "(code *)PTR__M_append_004c1e68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_append_004c1e68"))) () ")")) (argument_list "(local_48,pbVar12,uVar11)" (( "(") (identifier "local_48") (, ",") (identifier "pbVar12") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" (identifier "local_50") (= "=") (cast_expression "(byte *)local_74" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_74"))) (; ";")) (} "}")) (else_clause "else {\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" (else "else") (compound_statement "{\n          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }\n                    \n          (*(code *)PTR__M_append_004c1e68)(local_48);\n          local_50 = (byte *)local_74;\n        }" ({ "{") (if_statement "if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }" (if "if") (parenthesized_expression "(0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c))" (( "(") (binary_expression "0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)" (binary_expression "0x7fffffffU - (int)local_44" (number_literal "0x7fffffffU") (- "-") (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44"))) (< "<") (pointer_expression "*(uint *)(iVar13 + 0x2c)" (* "*") (cast_expression "(uint *)(iVar13 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2c)" (( "(") (binary_expression "iVar13 + 0x2c" (identifier "iVar13") (+ "+") (number_literal "0x2c")) () ")"))))) () ")")) (compound_statement "{\n                    \n            puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);\n            return puVar6;\n          }" ({ "{") (expression_statement "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16);" (assignment_expression "puVar6 = (undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)\n                     (*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" (( "(") (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" (* "*") (cast_expression "(code *)PTR___throw_length_error_004c1e74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_length_error_004c1e74"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,\n                                pbVar12 + uVar16)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x446c")) (, ",") (binary_expression "pbVar12 + uVar16" (identifier "pbVar12") (+ "+") (identifier "uVar16")) () ")"))))) (; ";")) (return_statement "return puVar6;" (return "return") (identifier "puVar6") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_48);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_48)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" (( "(") (pointer_expression "*(code *)PTR__M_append_004c1e68" (* "*") (cast_expression "(code *)PTR__M_append_004c1e68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_append_004c1e68"))) () ")")) (argument_list "(local_48)" (( "(") (identifier "local_48") () ")"))) (; ";")) (expression_statement "local_50 = (byte *)local_74;" (assignment_expression "local_50 = (byte *)local_74" (identifier "local_50") (= "=") (cast_expression "(byte *)local_74" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_74"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "local_48 = (uint **)(uVar15 + (int)local_50);" (assignment_expression "local_48 = (uint **)(uVar15 + (int)local_50)" (identifier "local_48") (= "=") (cast_expression "(uint **)(uVar15 + (int)local_50)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uVar15 + (int)local_50)" (( "(") (binary_expression "uVar15 + (int)local_50" (identifier "uVar15") (+ "+") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50"))) () ")")))) (; ";")) (expression_statement "local_3c = *(uint *)(param_5 + 0xc) & 0xb0;" (assignment_expression "local_3c = *(uint *)(param_5 + 0xc) & 0xb0" (identifier "local_3c") (= "=") (binary_expression "*(uint *)(param_5 + 0xc) & 0xb0" (pointer_expression "*(uint *)(param_5 + 0xc)" (* "*") (cast_expression "(uint *)(param_5 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xb0"))) (; ";")) (if_statement "if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }" (if "if") (parenthesized_expression "((*(uint *)(param_5 + 0xc) & 0x200) != 0)" (( "(") (binary_expression "(*(uint *)(param_5 + 0xc) & 0x200) != 0" (parenthesized_expression "(*(uint *)(param_5 + 0xc) & 0x200)" (( "(") (binary_expression "*(uint *)(param_5 + 0xc) & 0x200" (pointer_expression "*(uint *)(param_5 + 0xc)" (* "*") (cast_expression "(uint *)(param_5 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0x200")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));\n      }" ({ "{") (expression_statement "local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));" (assignment_expression "local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18))" (identifier "local_48") (= "=") (cast_expression "(uint **)((int)local_48 + *(int *)(iVar13 + 0x18))" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_48 + *(int *)(iVar13 + 0x18))" (( "(") (binary_expression "(int)local_48 + *(int *)(iVar13 + 0x18)" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (pointer_expression "*(int *)(iVar13 + 0x18)" (* "*") (cast_expression "(int *)(iVar13 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x18)" (( "(") (binary_expression "iVar13 + 0x18" (identifier "iVar13") (+ "+") (number_literal "0x18")) () ")"))))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_90 = local_88;" (assignment_expression "local_90 = local_88" (identifier "local_90") (= "=") (identifier "local_88")) (; ";")) (expression_statement "local_44 = &local_90;" (assignment_expression "local_44 = &local_90" (identifier "local_44") (= "=") (pointer_expression "&local_90" (& "&") (identifier "local_90"))) (; ";")) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_74 = (uint)local_50;" (assignment_expression "local_74 = (uint)local_50" (identifier "local_74") (= "=") (cast_expression "(uint)local_50" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_50"))) (; ";")) (expression_statement "local_30 = local_90;" (assignment_expression "local_30 = local_90" (identifier "local_30") (= "=") (identifier "local_90")) (; ";")) (expression_statement "(*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);" (call_expression "(*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1)" (parenthesized_expression "(*(code *)PTR_reserve_004c2458)" (( "(") (pointer_expression "*(code *)PTR_reserve_004c2458" (* "*") (cast_expression "(code *)PTR_reserve_004c2458" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_reserve_004c2458"))) () ")")) (argument_list "(local_44,(int)local_48 << 1)" (( "(") (identifier "local_44") (, ",") (binary_expression "(int)local_48 << 1" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (<< "<<") (number_literal "1")) () ")"))) (; ";")) (expression_statement "uVar11 = *(uint *)(param_5 + 8);" (assignment_expression "uVar11 = *(uint *)(param_5 + 8)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(param_5 + 8)" (* "*") (cast_expression "(uint *)(param_5 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 8)" (( "(") (binary_expression "param_5 + 8" (identifier "param_5") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (local_3c == 0x10) {\n        local_34 = (uint)(local_48 < uVar11);\n      }\n      else {\n        local_34 = 0;\n      }" (if "if") (parenthesized_expression "(local_3c == 0x10)" (( "(") (binary_expression "local_3c == 0x10" (identifier "local_3c") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n        local_34 = (uint)(local_48 < uVar11);\n      }" ({ "{") (expression_statement "local_34 = (uint)(local_48 < uVar11);" (assignment_expression "local_34 = (uint)(local_48 < uVar11)" (identifier "local_34") (= "=") (call_expression "(uint)(local_48 < uVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_48 < uVar11)" (( "(") (binary_expression "local_48 < uVar11" (identifier "local_48") (< "<") (identifier "uVar11")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        local_34 = 0;\n      }" (else "else") (compound_statement "{\n        local_34 = 0;\n      }" ({ "{") (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "local_50 = abStack_54;" (assignment_expression "local_50 = abStack_54" (identifier "local_50") (= "=") (identifier "abStack_54")) (; ";")) (expression_statement "pbVar12 = (byte *)&local_58;" (assignment_expression "pbVar12 = (byte *)&local_58" (identifier "pbVar12") (= "=") (cast_expression "(byte *)&local_58" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_58" (& "&") (identifier "local_58")))) (; ";")) (expression_statement "local_48 = (uint **)(uVar11 - (int)local_48);" (assignment_expression "local_48 = (uint **)(uVar11 - (int)local_48)" (identifier "local_48") (= "=") (cast_expression "(uint **)(uVar11 - (int)local_48)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uVar11 - (int)local_48)" (( "(") (binary_expression "uVar11 - (int)local_48" (identifier "uVar11") (- "-") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48"))) () ")")))) (; ";")) (expression_statement "local_2c = 0x7fffffff;" (assignment_expression "local_2c = 0x7fffffff" (identifier "local_2c") (= "=") (number_literal "0x7fffffff")) (; ";")) (do_statement "do {\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      } while (local_50 != pbVar12);" (do "do") (compound_statement "{\n        if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }\n        pbVar12 = pbVar12 + 1;\n      }" ({ "{") (if_statement "if (*pbVar12 < 5) {\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }" (if "if") (parenthesized_expression "(*pbVar12 < 5)" (( "(") (binary_expression "*pbVar12 < 5" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (< "<") (number_literal "5")) () ")")) (compound_statement "{\n                    \n                    \n          puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();\n          return puVar6;\n        }" ({ "{") (expression_statement "puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();" (assignment_expression "puVar6 = (undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)\n                   (*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))()" (parenthesized_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))" (( "(") (pointer_expression "*(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210)" (* "*") (cast_expression "(code *)(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(gold::Position_dependent_options::default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210)" (( "(") (ERROR "gold::Position_dependent_options::" (identifier "gold") (: ":") (: ":") (identifier "Position_dependent_options") (: ":") (: ":")) (binary_expression "default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210" (binary_expression "default_options_ +\n                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" (identifier "default_options_") (+ "+") (pointer_expression "*(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" (* "*") (cast_expression "(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c)" (( "(") (binary_expression "PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c" (binary_expression "PTR_UINT_004c12dc + (uint)*pbVar12 * 4" (identifier "PTR_UINT_004c12dc") (+ "+") (binary_expression "(uint)*pbVar12 * 4" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar12")) (* "*") (number_literal "4"))) (+ "+") (number_literal "-0xa8c")) () ")"))))) (+ "+") (number_literal "0x3210")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return puVar6;" (return "return") (identifier "puVar6") (; ";")) (} "}"))) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_50 != pbVar12)" (( "(") (binary_expression "local_50 != pbVar12" (identifier "local_50") (!= "!=") (identifier "pbVar12")) () ")")) (; ";")) (expression_statement "uVar16 = local_8c;" (assignment_expression "uVar16 = local_8c" (identifier "uVar16") (= "=") (identifier "local_8c")) (; ";")) (if_statement "if (1 < uVar15) {\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }" (if "if") (parenthesized_expression "(1 < uVar15)" (( "(") (binary_expression "1 < uVar15" (number_literal "1") (< "<") (identifier "uVar15")) () ")")) (compound_statement "{\n        if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(local_44);\n        uVar16 = local_8c;\n      }" ({ "{") (if_statement "if (0x7fffffff - local_8c < uVar15 - 1) {\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }" (if "if") (parenthesized_expression "(0x7fffffff - local_8c < uVar15 - 1)" (( "(") (binary_expression "0x7fffffff - local_8c < uVar15 - 1" (binary_expression "0x7fffffff - local_8c" (number_literal "0x7fffffff") (- "-") (identifier "local_8c")) (< "<") (binary_expression "uVar15 - 1" (identifier "uVar15") (- "-") (number_literal "1"))) () ")")) (compound_statement "{\n          puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);\n          return puVar6;\n        }" ({ "{") (expression_statement "puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);" (assignment_expression "puVar6 = (undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)\n                   (*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" (( "(") (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" (* "*") (cast_expression "(code *)PTR___throw_length_error_004c1e74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_length_error_004c1e74"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x446c")) (, ",") (binary_expression "local_40 + 1" (identifier "local_40") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (return_statement "return puVar6;" (return "return") (identifier "puVar6") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR__M_append_004c1e68)(local_44);" (call_expression "(*(code *)PTR__M_append_004c1e68)(local_44)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" (( "(") (pointer_expression "*(code *)PTR__M_append_004c1e68" (* "*") (cast_expression "(code *)PTR__M_append_004c1e68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_append_004c1e68"))) () ")")) (argument_list "(local_44)" (( "(") (identifier "local_44") () ")"))) (; ";")) (expression_statement "uVar16 = local_8c;" (assignment_expression "uVar16 = local_8c" (identifier "uVar16") (= "=") (identifier "local_8c")) (; ";")) (} "}"))) (expression_statement "local_8c = uVar16;" (assignment_expression "local_8c = uVar16" (identifier "local_8c") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (uVar16 < uVar11) {\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }" (if "if") (parenthesized_expression "(uVar16 < uVar11)" (( "(") (binary_expression "uVar16 < uVar11" (identifier "uVar16") (< "<") (identifier "uVar11")) () ")")) (compound_statement "{\n        uVar15 = uVar16;\n        if (local_3c != 0x20) {\n          uVar15 = 0;\n        }\n        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);\n        uVar16 = uVar11;\n      }" ({ "{") (expression_statement "uVar15 = uVar16;" (assignment_expression "uVar15 = uVar16" (identifier "uVar15") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (local_3c != 0x20) {\n          uVar15 = 0;\n        }" (if "if") (parenthesized_expression "(local_3c != 0x20)" (( "(") (binary_expression "local_3c != 0x20" (identifier "local_3c") (!= "!=") (number_literal "0x20")) () ")")) (compound_statement "{\n          uVar15 = 0;\n        }" ({ "{") (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);" (call_expression "(*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c)" (parenthesized_expression "(*(code *)PTR__M_replace_aux_004c258c)" (( "(") (pointer_expression "*(code *)PTR__M_replace_aux_004c258c" (* "*") (cast_expression "(code *)PTR__M_replace_aux_004c258c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_aux_004c258c"))) () ")")) (argument_list "(local_44,uVar15,0,uVar11 - uVar16,local_4c)" (( "(") (identifier "local_44") (, ",") (identifier "uVar15") (, ",") (number_literal "0") (, ",") (binary_expression "uVar11 - uVar16" (identifier "uVar11") (- "-") (identifier "uVar16")) (, ",") (identifier "local_4c") () ")"))) (; ";")) (expression_statement "uVar16 = uVar11;" (assignment_expression "uVar16 = uVar11" (identifier "uVar16") (= "=") (identifier "uVar11")) (; ";")) (} "}"))) (if_statement "if (param_4 >> 0x18 == 0) {\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }" (if "if") (parenthesized_expression "(param_4 >> 0x18 == 0)" (( "(") (binary_expression "param_4 >> 0x18 == 0" (binary_expression "param_4 >> 0x18" (identifier "param_4") (>> ">>") (number_literal "0x18")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);\n        uVar14 = uVar15 != uVar16;\n      }" ({ "{") (expression_statement "uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);" (assignment_expression "uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16)" (identifier "uVar15") (= "=") (call_expression "(**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16)" (parenthesized_expression "(**(code **)(*param_3 + 0x30))" (( "(") (pointer_expression "**(code **)(*param_3 + 0x30)" (* "*") (pointer_expression "*(code **)(*param_3 + 0x30)" (* "*") (cast_expression "(code **)(*param_3 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0x30)" (( "(") (binary_expression "*param_3 + 0x30" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(param_3,local_90,uVar16)" (( "(") (identifier "param_3") (, ",") (identifier "local_90") (, ",") (identifier "uVar16") () ")")))) (; ";")) (expression_statement "uVar14 = uVar15 != uVar16;" (assignment_expression "uVar14 = uVar15 != uVar16" (identifier "uVar14") (= "=") (binary_expression "uVar15 != uVar16" (identifier "uVar15") (!= "!=") (identifier "uVar16"))) (; ";")) (} "}"))) (expression_statement "local_resc._1_3_ = (undefined3)param_4;" (assignment_expression "local_resc._1_3_ = (undefined3)param_4" (field_expression "local_resc._1_3_" (identifier "local_resc") (. ".") (field_identifier "_1_3_")) (= "=") (cast_expression "(undefined3)param_4" (( "(") (type_descriptor "undefined3" (type_identifier "undefined3")) () ")") (identifier "param_4"))) (; ";")) (expression_statement "local_resc = CONCAT13(uVar14,local_resc._1_3_);" (assignment_expression "local_resc = CONCAT13(uVar14,local_resc._1_3_)" (identifier "local_resc") (= "=") (call_expression "CONCAT13(uVar14,local_resc._1_3_)" (identifier "CONCAT13") (argument_list "(uVar14,local_resc._1_3_)" (( "(") (identifier "uVar14") (, ",") (field_expression "local_resc._1_3_" (identifier "local_resc") (. ".") (field_identifier "_1_3_")) () ")")))) (; ";")) (if_statement "if (local_90 != local_30) {\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }" (if "if") (parenthesized_expression "(local_90 != local_30)" (( "(") (binary_expression "local_90 != local_30" (identifier "local_90") (!= "!=") (identifier "local_30")) () ")")) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)(local_90);\n      }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(local_90);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(local_90)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "(local_90)" (( "(") (identifier "local_90") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_78 != local_38) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" (if "if") (parenthesized_expression "(local_78 != local_38)" (( "(") (binary_expression "local_78 != local_38" (identifier "local_78") (!= "!=") (identifier "local_38")) () ")")) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_003c2b1c:\n  local_resc = CONCAT13(uVar14,local_resc._1_3_);" (statement_identifier "LAB_003c2b1c") (: ":") (expression_statement "local_resc = CONCAT13(uVar14,local_resc._1_3_);" (assignment_expression "local_resc = CONCAT13(uVar14,local_resc._1_3_)" (identifier "local_resc") (= "=") (call_expression "CONCAT13(uVar14,local_resc._1_3_)" (identifier "CONCAT13") (argument_list "(uVar14,local_resc._1_3_)" (( "(") (identifier "uVar14") (, ",") (field_expression "local_resc._1_3_" (identifier "local_resc") (. ".") (field_identifier "_1_3_")) () ")")))) (; ";"))) (expression_statement "*param_1 = param_3;" (assignment_expression "*param_1 = param_3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(undefined4 *)(param_5 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_5 + 8) = 0" (pointer_expression "*(undefined4 *)(param_5 + 8)" (* "*") (cast_expression "(undefined4 *)(param_5 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 8)" (( "(") (binary_expression "param_5 + 8" (identifier "param_5") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[1] = local_resc;" (assignment_expression "param_1[1] = local_resc" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_resc")) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}"))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* std::ostreambuf_iterator<char, std::char_traits<char> > std::money_put<char,
   std::ostreambuf_iterator<char, std::char_traits<char> >
   >::_M_insert<false>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,
   char, std::string const&) const */

var_4 *
std::money_put<var_2,std::ostreambuf_iterator<var_2,std::var_1<var_2>>>::var_3<false>
          (var_4 *var_5,var_4 param_2,var_6 *var_7,type_4 var_9,var_6 var_12,var_2 param_6
          ,var_4 *var_8)

{
  type_1 *var_16;
  type_1 *puVar2;
  int var_19;
  int var_13;
  type_2 *puVar5;
  var_4 *var_15;
  type_3 *var_20;
  type_4 var_29;
  int *piVar9;
  type_3 *var_18;
  type_4 var_21;
  type_3 *var_17;
  int var_14;
  type_2 uVar14;
  type_4 var_32;
  type_4 var_22;
  type_4 local_resc;
  type_2 *var_40;
  type_4 var_37;
  type_2 local_88 [16];
  type_4 *var_27;
  type_4 var_24;
  type_4 local_70 [6];
  var_4 local_58;
  type_3 abStack_54 [4];
  type_3 *var_36;
  int local_4c;
  type_4 **var_34;
  type_2 **var_30;
  int var_38;
  type_4 var_33;
  type_4 *var_28;
  type_4 local_34;
  type_2 *var_41;
  var_4 local_2c;
  
  local_4c = (int)param_6;
  uVar14 = (type_2)(var_9 >> 0x18);
  var_19 = (*(type_5 *)PTR_use_facet<var_10<var_2>>var_11)(var_12 + 0x6c);
  var_13 = (*(type_5 *)PTR__M_id_004c2c74)(PTR_id_004c32cc);
  piVar9 = (int *)(*(int *)(*(int *)(var_12 + 0x6c) + 0xc) + var_13 * 4);
  var_14 = *piVar9;
  if (var_14 == 0) {
                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */
    var_15 = (var_4 *)(*(type_5 *)PTR_operator_new_004c13a8)(0x44);
    var_15[1] = 0;
    var_15[2] = 0;
    var_15[3] = 0;
    puVar2 = PTR__M_cache_004c2d20;
    var_16 = PTR_vtable_004c13d4;
    *(type_6 *)(var_15 + 4) = 0;
    *(type_2 *)((int)var_15 + 0x12) = 0;
    var_15[5] = 0;
    *var_15 = var_16 + 8;
    var_15[6] = 0;
    var_15[7] = 0;
    var_15[8] = 0;
    var_15[9] = 0;
    var_15[10] = 0;
    var_15[0xb] = 0;
    var_15[0xc] = 0;
    var_15[0xd] = 0;
                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */
    *(type_2 *)((int)var_15 + 0x43) = 0;
    (*(type_5 *)puVar2)(var_15,var_12 + 0x6c);
    (*(type_5 *)PTR__M_install_cache_004c2d18)(*(var_4 *)(var_12 + 0x6c),var_15,var_13);
    var_14 = *piVar9;
  }
  var_17 = (type_3 *)*var_8;
  local_resc = var_9;
  if (*var_17 == *(type_3 *)(var_14 + 0x38)) {
    local_58 = *(var_4 *)(var_14 + 0x34);
    if (var_8[1] == 0) goto LAB_003c2b1c;
    var_38 = *(int *)(var_14 + 0x24);
    var_17 = var_17 + 1;
    var_32 = *(type_4 *)(var_14 + 0x28);
  }
  else {
    local_58 = *(var_4 *)(var_14 + 0x30);
    var_38 = *(int *)(var_14 + 0x1c);
    var_32 = *(type_4 *)(var_14 + 0x20);
  }
  var_18 = var_17 + var_8[1];
  if ((var_17 < var_18) &&
     (var_20 = var_17, (*(type_7 *)(*(int *)(var_19 + 0x18) + (type_4)*var_17 * 2) & 8) != 0)) {
    do {
      var_20 = var_20 + 1;
      if (var_18 == var_20) {
        var_21 = (int)var_18 - (int)var_17;
        goto joined_r0x003c2b0c;
      }
    } while ((*(type_7 *)(*(int *)(var_19 + 0x18) + (type_4)*var_20 * 2) & 8) != 0);
    var_21 = (int)var_20 - (int)var_17;
joined_r0x003c2b0c:
    if (var_21 != 0) {
      var_34 = &var_27;
      var_27 = local_70;
      var_24 = 0;
      local_70[0] = local_70[0] & 0xffffff;
      var_28 = var_27;
                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */
      (*(type_5 *)PTR_reserve_004c2458)(var_34,var_21 << 1);
      var_19 = *(int *)(var_14 + 0x2c);
      var_22 = var_21 - var_19;
      if (0 < (int)var_22) {
        if (var_19 < 0) {
          var_22 = var_21;
        }
        if (*(int *)(var_14 + 0xc) == 0) {
                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */
          (*(type_5 *)PTR__M_replace_004c20a0)(var_34,0,var_24,var_17,var_22);
          var_19 = *(int *)(var_14 + 0x2c);
        }
        else {
          (*(type_5 *)PTR__M_replace_aux_004c258c)(var_34,0,var_24,var_22 << 1,0);
          puVar5 = (type_2 *)
                   (*(type_5 *)PTR___add_grouping<var_2>var_23)
                             (var_27,(int)*(char *)(var_14 + 0x12),*(var_4 *)(var_14 + 8),
                              *(var_4 *)(var_14 + 0xc),var_17,var_17 + var_22);
          if (var_24 < (type_4)((int)puVar5 - (int)var_27)) {
            var_15 = (var_4 *)
                     (*(type_5 *)PTR___throw_out_of_range_fmt_004c225c)
                               (var_25 + -0xe00,
                                var_26 + 0x3894);
            return var_15;
          }
          *puVar5 = 0;
          var_19 = *(int *)(var_14 + 0x2c);
          var_24 = (int)puVar5 - (int)var_27;
        }
      }
      var_36 = (type_3 *)var_24;
      if (0 < var_19) {
        var_30 = (type_2 **)(var_24 + 1);
        var_33 = (type_4)*(char *)(var_14 + 0x11);
        var_29 = 0xf;
        if (var_27 != var_28) {
          var_29 = local_70[0];
        }
        if (var_29 < var_30) {
          (*(type_5 *)PTR__M_mutate_004c2090)(var_34,var_24,0,0,1);
        }
        *(char *)((int)var_27 + (int)var_36) = (char)var_33;
        var_24 = (type_4)var_30;
        *(type_2 *)((int)var_27 + (int)var_30) = 0;
        if ((int)var_22 < 0) {
          (*(type_5 *)PTR__M_replace_aux_004c258c)
                    (var_34,var_30,0,-var_22,(int)*(char *)(var_14 + 0x39));
          if (0x7fffffff - var_24 < var_21) {
            var_15 = (var_4 *)
                     (*(type_5 *)PTR___throw_length_error_004c1e74)
                               (var_31 + 0x446c);
            return var_15;
          }
          (*(type_5 *)PTR__M_append_004c1e68)(var_34,var_17,var_21);
          var_36 = (type_3 *)var_24;
        }
        else {
          if (0x7fffffffU - (int)var_30 < *(type_4 *)(var_14 + 0x2c)) {
                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */
            var_15 = (var_4 *)
                     (*(type_5 *)PTR___throw_length_error_004c1e74)
                               (var_31 + 0x446c,
                                var_17 + var_22);
            return var_15;
          }
                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */
          (*(type_5 *)PTR__M_append_004c1e68)(var_34);
          var_36 = (type_3 *)var_24;
        }
      }
      var_34 = (type_4 **)(var_32 + (int)var_36);
      var_33 = *(type_4 *)(var_12 + 0xc) & 0xb0;
      if ((*(type_4 *)(var_12 + 0xc) & 0x200) != 0) {
        var_34 = (type_4 **)((int)var_34 + *(int *)(var_14 + 0x18));
      }
      var_40 = local_88;
      var_30 = &var_40;
      var_37 = 0;
                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */
      local_88[0] = 0;
      var_24 = (type_4)var_36;
      var_41 = var_40;
      (*(type_5 *)PTR_reserve_004c2458)(var_30,(int)var_34 << 1);
      var_21 = *(type_4 *)(var_12 + 8);
      if (var_33 == 0x10) {
        local_34 = (type_4)(var_34 < var_21);
      }
      else {
        local_34 = 0;
      }
      var_36 = abStack_54;
      var_17 = (type_3 *)&local_58;
      var_34 = (type_4 **)(var_21 - (int)var_34);
      local_2c = 0x7fffffff;
      do {
        if (*var_17 < 5) {
                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */
                    /* WARNING: Treating indirect jump as call */
          var_15 = (var_4 *)
                   (*(type_5 *)(&gold::Position_dependent_options::default_options_.relax_.
                               user_set_via_option +
                             *(int *)(var_35 + (type_4)*var_17 * 4 + -0xa8c)))();
          return var_15;
        }
        var_17 = var_17 + 1;
      } while (var_36 != var_17);
      var_22 = var_37;
      if (1 < var_32) {
        if (0x7fffffff - var_37 < var_32 - 1) {
          var_15 = (var_4 *)
                   (*(type_5 *)PTR___throw_length_error_004c1e74)
                             (var_31 + 0x446c,var_38 + 1);
          return var_15;
        }
                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */
        (*(type_5 *)PTR__M_append_004c1e68)(var_30);
        var_22 = var_37;
      }
      var_37 = var_22;
      if (var_22 < var_21) {
        var_32 = var_22;
        if (var_33 != 0x20) {
          var_32 = 0;
        }
        (*(type_5 *)PTR__M_replace_aux_004c258c)(var_30,var_32,0,var_21 - var_22,local_4c);
        var_22 = var_21;
      }
      if (var_9 >> 0x18 == 0) {
        var_32 = (**(type_5 **)(*var_7 + 0x30))(var_7,var_40,var_22);
        uVar14 = var_32 != var_22;
      }
      local_resc._1_3_ = (type_8)var_9;
      local_resc = var_39(uVar14,local_resc._1_3_);
      if (var_40 != var_41) {
        (*(type_5 *)PTR_operator_delete_004c12fc)(var_40);
      }
      if (var_27 != var_28) {
        (*(type_5 *)PTR_operator_delete_004c12fc)();
      }
    }
  }
LAB_003c2b1c:
  local_resc = var_39(uVar14,local_resc._1_3_);
  *var_5 = var_7;
  *(var_4 *)(var_12 + 8) = 0;
  var_5[1] = local_resc;
  return var_5;
}


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

/* std::ostreambuf_iterator<char, std::char_traits<char> > std::money_put<char,
   std::ostreambuf_iterator<char, std::char_traits<char> >
   >::MASKED(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,
   char, std::string const&) const */

undefined4 *
std::money_put<char,std::ostreambuf_iterator<char,std::char_traits<char>>>::MASKED
          (undefined4 *param_1,undefined4 param_2,int *param_3,uint param_4,int param_5,char param_6
          ,undefined4 *param_7)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  undefined1 *puVar5;
  undefined4 *puVar6;
  byte *pbVar7;
  uint uVar8;
  int *piVar9;
  byte *pbVar10;
  uint uVar11;
  byte *pbVar12;
  int iVar13;
  undefined1 uVar14;
  uint uVar15;
  uint uVar16;
  uint local_resc;
  undefined1 *local_90;
  uint local_8c;
  undefined1 local_88 [16];
  uint *local_78;
  uint local_74;
  uint local_70 [6];
  undefined4 local_58;
  byte abStack_54 [4];
  byte *local_50;
  int local_4c;
  uint **local_48;
  undefined1 **local_44;
  int local_40;
  uint local_3c;
  uint *local_38;
  uint local_34;
  undefined1 *local_30;
  undefined4 local_2c;
  
  local_4c = (int)param_6;
  uVar14 = (undefined1)(param_4 >> 0x18);
  iVar3 = (*(code *)PTR_use_facet<std_ctype<char>>_004c2c84)(param_5 + 0x6c);
  iVar4 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c32cc);
  piVar9 = (int *)(*(int *)(*(int *)(param_5 + 0x6c) + 0xc) + iVar4 * 4);
  iVar13 = *piVar9;
  if (iVar13 == 0) {
                    /* try { // try from 003c2f94 to 003c2f9b has its CatchHandler @ 003c31bc */
    puVar6 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x44);
    puVar6[1] = 0;
    puVar6[2] = 0;
    puVar6[3] = 0;
    puVar2 = PTR__M_cache_004c2d20;
    puVar1 = PTR_vtable_004c13d4;
    *(undefined2 *)(puVar6 + 4) = 0;
    *(undefined1 *)((int)puVar6 + 0x12) = 0;
    puVar6[5] = 0;
    *puVar6 = puVar1 + 8;
    puVar6[6] = 0;
    puVar6[7] = 0;
    puVar6[8] = 0;
    puVar6[9] = 0;
    puVar6[10] = 0;
    puVar6[0xb] = 0;
    puVar6[0xc] = 0;
    puVar6[0xd] = 0;
                    /* try { // try from 003c2ff4 to 003c2ffb has its CatchHandler @ 003c318c */
    *(undefined1 *)((int)puVar6 + 0x43) = 0;
    (*(code *)puVar2)(puVar6,param_5 + 0x6c);
    (*(code *)PTR__M_install_cache_004c2d18)(*(undefined4 *)(param_5 + 0x6c),puVar6,iVar4);
    iVar13 = *piVar9;
  }
  pbVar12 = (byte *)*param_7;
  local_resc = param_4;
  if (*pbVar12 == *(byte *)(iVar13 + 0x38)) {
    local_58 = *(undefined4 *)(iVar13 + 0x34);
    if (param_7[1] == 0) goto LAB_003c2b1c;
    local_40 = *(int *)(iVar13 + 0x24);
    pbVar12 = pbVar12 + 1;
    uVar15 = *(uint *)(iVar13 + 0x28);
  }
  else {
    local_58 = *(undefined4 *)(iVar13 + 0x30);
    local_40 = *(int *)(iVar13 + 0x1c);
    uVar15 = *(uint *)(iVar13 + 0x20);
  }
  pbVar10 = pbVar12 + param_7[1];
  if ((pbVar12 < pbVar10) &&
     (pbVar7 = pbVar12, (*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar12 * 2) & 8) != 0)) {
    do {
      pbVar7 = pbVar7 + 1;
      if (pbVar10 == pbVar7) {
        uVar11 = (int)pbVar10 - (int)pbVar12;
        goto joined_r0x003c2b0c;
      }
    } while ((*(ushort *)(*(int *)(iVar3 + 0x18) + (uint)*pbVar7 * 2) & 8) != 0);
    uVar11 = (int)pbVar7 - (int)pbVar12;
joined_r0x003c2b0c:
    if (uVar11 != 0) {
      local_48 = &local_78;
      local_78 = local_70;
      local_74 = 0;
      local_70[0] = local_70[0] & 0xffffff;
      local_38 = local_78;
                    /* try { // try from 003c2b94 to 003c2bd7 has its CatchHandler @ 003c3180 */
      (*(code *)PTR_reserve_004c2458)(local_48,uVar11 << 1);
      iVar3 = *(int *)(iVar13 + 0x2c);
      uVar16 = uVar11 - iVar3;
      if (0 < (int)uVar16) {
        if (iVar3 < 0) {
          uVar16 = uVar11;
        }
        if (*(int *)(iVar13 + 0xc) == 0) {
                    /* try { // try from 003c3040 to 003c3103 has its CatchHandler @ 003c3180 */
          (*(code *)PTR__M_replace_004c20a0)(local_48,0,local_74,pbVar12,uVar16);
          iVar3 = *(int *)(iVar13 + 0x2c);
        }
        else {
          (*(code *)PTR__M_replace_aux_004c258c)(local_48,0,local_74,uVar16 << 1,0);
          puVar5 = (undefined1 *)
                   (*(code *)PTR___add_grouping<char>_004c2cf8)
                             (local_78,(int)*(char *)(iVar13 + 0x12),*(undefined4 *)(iVar13 + 8),
                              *(undefined4 *)(iVar13 + 0xc),pbVar12,pbVar12 + uVar16);
          if (local_74 < (uint)((int)puVar5 - (int)local_78)) {
            puVar6 = (undefined4 *)
                     (*(code *)PTR___throw_out_of_range_fmt_004c225c)
                               (PTR_s__s_004c1a50 + -0xe00,
                                PTR_s_in_a_linker_script_004c191c + 0x3894);
            return puVar6;
          }
          *puVar5 = 0;
          iVar3 = *(int *)(iVar13 + 0x2c);
          local_74 = (int)puVar5 - (int)local_78;
        }
      }
      local_50 = (byte *)local_74;
      if (0 < iVar3) {
        local_44 = (undefined1 **)(local_74 + 1);
        local_3c = (uint)*(char *)(iVar13 + 0x11);
        uVar8 = 0xf;
        if (local_78 != local_38) {
          uVar8 = local_70[0];
        }
        if (uVar8 < local_44) {
          (*(code *)PTR__M_mutate_004c2090)(local_48,local_74,0,0,1);
        }
        *(char *)((int)local_78 + (int)local_50) = (char)local_3c;
        local_74 = (uint)local_44;
        *(undefined1 *)((int)local_78 + (int)local_44) = 0;
        if ((int)uVar16 < 0) {
          (*(code *)PTR__M_replace_aux_004c258c)
                    (local_48,local_44,0,-uVar16,(int)*(char *)(iVar13 + 0x39));
          if (0x7fffffff - local_74 < uVar11) {
            puVar6 = (undefined4 *)
                     (*(code *)PTR___throw_length_error_004c1e74)
                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
            return puVar6;
          }
          (*(code *)PTR__M_append_004c1e68)(local_48,pbVar12,uVar11);
          local_50 = (byte *)local_74;
        }
        else {
          if (0x7fffffffU - (int)local_44 < *(uint *)(iVar13 + 0x2c)) {
                    /* try { // try from 003c312c to 003c3133 has its CatchHandler @ 003c3180 */
            puVar6 = (undefined4 *)
                     (*(code *)PTR___throw_length_error_004c1e74)
                               (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,
                                pbVar12 + uVar16);
            return puVar6;
          }
                    /* try { // try from 003c2f20 to 003c2f27 has its CatchHandler @ 003c3180 */
          (*(code *)PTR__M_append_004c1e68)(local_48);
          local_50 = (byte *)local_74;
        }
      }
      local_48 = (uint **)(uVar15 + (int)local_50);
      local_3c = *(uint *)(param_5 + 0xc) & 0xb0;
      if ((*(uint *)(param_5 + 0xc) & 0x200) != 0) {
        local_48 = (uint **)((int)local_48 + *(int *)(iVar13 + 0x18));
      }
      local_90 = local_88;
      local_44 = &local_90;
      local_8c = 0;
                    /* try { // try from 003c2c74 to 003c2e87 has its CatchHandler @ 003c3134 */
      local_88[0] = 0;
      local_74 = (uint)local_50;
      local_30 = local_90;
      (*(code *)PTR_reserve_004c2458)(local_44,(int)local_48 << 1);
      uVar11 = *(uint *)(param_5 + 8);
      if (local_3c == 0x10) {
        local_34 = (uint)(local_48 < uVar11);
      }
      else {
        local_34 = 0;
      }
      local_50 = abStack_54;
      pbVar12 = (byte *)&local_58;
      local_48 = (uint **)(uVar11 - (int)local_48);
      local_2c = 0x7fffffff;
      do {
        if (*pbVar12 < 5) {
                    /* WARNING: Could not emulate address calculation at 0x003c2cd0 */
                    /* WARNING: Treating indirect jump as call */
          puVar6 = (undefined4 *)
                   (*(code *)(gold::Position_dependent_options::default_options_ +
                             *(int *)(PTR_UINT_004c12dc + (uint)*pbVar12 * 4 + -0xa8c) + 0x3210))();
          return puVar6;
        }
        pbVar12 = pbVar12 + 1;
      } while (local_50 != pbVar12);
      uVar16 = local_8c;
      if (1 < uVar15) {
        if (0x7fffffff - local_8c < uVar15 - 1) {
          puVar6 = (undefined4 *)
                   (*(code *)PTR___throw_length_error_004c1e74)
                             (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c,local_40 + 1);
          return puVar6;
        }
                    /* try { // try from 003c2f5c to 003c2f87 has its CatchHandler @ 003c3134 */
        (*(code *)PTR__M_append_004c1e68)(local_44);
        uVar16 = local_8c;
      }
      local_8c = uVar16;
      if (uVar16 < uVar11) {
        uVar15 = uVar16;
        if (local_3c != 0x20) {
          uVar15 = 0;
        }
        (*(code *)PTR__M_replace_aux_004c258c)(local_44,uVar15,0,uVar11 - uVar16,local_4c);
        uVar16 = uVar11;
      }
      if (param_4 >> 0x18 == 0) {
        uVar15 = (**(code **)(*param_3 + 0x30))(param_3,local_90,uVar16);
        uVar14 = uVar15 != uVar16;
      }
      local_resc._1_3_ = (undefined3)param_4;
      local_resc = CONCAT13(uVar14,local_resc._1_3_);
      if (local_90 != local_30) {
        (*(code *)PTR_operator_delete_004c12fc)(local_90);
      }
      if (local_78 != local_38) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
    }
  }
LAB_003c2b1c:
  local_resc = CONCAT13(uVar14,local_resc._1_3_);
  *param_1 = param_3;
  *(undefined4 *)(param_5 + 8) = 0;
  param_1[1] = local_resc;
  return param_1;
}

