
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* 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::__timepunct<wchar_t> const& std::use_facet<std::__timepunct<wchar_t> >(std::locale const&)
    */

__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)

{
  uint uVar1;
  __timepunct *p_Var2;
  ctype *pcVar3;
  int iVar4;
  int iVar5;
  __timepunct _Var6;
  __timepunct *p_Var7;
  int *piVar8;
  tm *unaff_s0;
  undefined *puVar9;
  char unaff_retaddr;
  char cStackX_3;
  wchar_t awStack_248 [256];
  undefined4 uStack_48;
  int iStack_44;
  int iStack_40;
  undefined4 uStack_3c;
  locale *plStack_34;
  
  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);
  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&
     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),
     p_Var7 != (__timepunct *)0x0)) {
    _Var6 = (__timepunct)0x0;
    piVar8 = (int *)PTR_PTR_004c2f84;
    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);
    if (p_Var2 != (__timepunct *)0x0) {
      return p_Var2;
    }
    puVar9 = PTR___cxa_bad_cast_004c2c80;
    (*(code *)PTR___cxa_bad_cast_004c2c80)();
    plStack_34 = param_1;
    pcVar3 = use_facet<std::ctype<wchar_t>>
                       ((locale *)
                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.
                         option.helparg);
    p_Var2 = use_facet<std::__timepunct<wchar_t>>
                       ((locale *)
                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.
                         option.helparg);
    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);
    if (cStackX_3 == 0) {
      iStack_40 = 0;
      iStack_44 = (int)unaff_retaddr;
    }
    else {
      uStack_3c = 0;
      iStack_44 = (int)cStackX_3;
      iStack_40 = (int)unaff_retaddr;
    }
    __timepunct<wchar_t>::_M_put
              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);
    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);
    if (_Var6 == (__timepunct)0x0) {
      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);
      _Var6 = (__timepunct)(iVar4 != iVar5);
    }
    *(int **)p_Var7 = piVar8;
    p_Var7[4] = _Var6;
    return p_Var7;
  }
                    /* WARNING: Subroutine does not return */
  __throw_bad_cast();
}



/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* std::__timepunct<wchar_t> const& std::use_facet<std::__timepunct<wchar_t> >(std::locale const&)
    */

__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)

{
  uint uVar1;
  __timepunct *p_Var2;
  ctype *pcVar3;
  int iVar4;
  int iVar5;
  __timepunct _Var6;
  __timepunct *p_Var7;
  int *piVar8;
  tm *unaff_s0;
  undefined *puVar9;
  char unaff_retaddr;
  char cStackX_3;
  wchar_t awStack_248 [256];
  undefined4 uStack_48;
  int iStack_44;
  int iStack_40;
  undefined4 uStack_3c;
  locale *plStack_34;
  
  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);
  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&
     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),
     p_Var7 != (__timepunct *)0x0)) {
    _Var6 = (__timepunct)0x0;
    piVar8 = (int *)PTR_PTR_004c2f84;
    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);
    if (p_Var2 != (__timepunct *)0x0) {
      return p_Var2;
    }
    puVar9 = PTR___cxa_bad_cast_004c2c80;
    (*(code *)PTR___cxa_bad_cast_004c2c80)();
    plStack_34 = param_1;
    pcVar3 = use_facet<std::ctype<wchar_t>>
                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));
    p_Var2 = use_facet<std::__timepunct<wchar_t>>
                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));
    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);
    if (cStackX_3 == 0) {
      iStack_40 = 0;
      iStack_44 = (int)unaff_retaddr;
    }
    else {
      uStack_3c = 0;
      iStack_44 = (int)cStackX_3;
      iStack_40 = (int)unaff_retaddr;
    }
    __timepunct<wchar_t>::_M_put
              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);
    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);
    if (_Var6 == (__timepunct)0x0) {
      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);
      _Var6 = (__timepunct)(iVar4 != iVar5);
    }
    *(int **)p_Var7 = piVar8;
    p_Var7[4] = _Var6;
    return p_Var7;
  }
                    /* WARNING: Subroutine does not return */
  __throw_bad_cast();
}


lui gp,0x13
addiu gp,gp,-0x5f04
addu gp,gp,t9
addiu sp,sp,-0x20
lw t9,-0x65cc(gp)
sw s0,0x18(sp)
or s0,a0,zero
sw gp,0x10(sp)
sw ra,0x1c(sp)
lw a0,-0x62c0(gp)
jalr t9
_nop
lw a0,0x0(s0)
lw gp,0x10(sp)
lw v1,0x8(a0)
sltu v1,v0,v1
beq v1,zero,0x0039f1c8
_lw a0,0x4(a0)
sll v0,v0,0x2
addu v0,a0,v0
lw a0,0x0(v0)
beq a0,zero,0x0039f1c8
_lw t9,-0x7ee4(gp)
lw a2,-0x62bc(gp)
lw a1,-0x7edc(gp)
bal 0x0038cef0
_or a3,zero,zero
beq v0,zero,0x0039f1d4
_lw gp,0x10(sp)
lw ra,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x20
lw t9,-0x6f84(gp)
bal 0x00389530
_nop
lw t9,-0x65c0(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* std::__timepunct<wchar_t> const& std::use_facet<std::__timepunct<wchar_t> >(std::locale const&)\n    */\n\n__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)\n\n{\n  uint uVar1;\n  __timepunct *p_Var2;\n  ctype *pcVar3;\n  int iVar4;\n  int iVar5;\n  __timepunct _Var6;\n  __timepunct *p_Var7;\n  int *piVar8;\n  tm *unaff_s0;\n  undefined *puVar9;\n  char unaff_retaddr;\n  char cStackX_3;\n  wchar_t awStack_248 [256];\n  undefined4 uStack_48;\n  int iStack_44;\n  int iStack_40;\n  undefined4 uStack_3c;\n  locale *plStack_34;\n  \n  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);\n  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __throw_bad_cast();\n}\n\n" comment comment (ERROR "__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)" (binary_expression "__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)" (binary_expression "__timepunct * std::use_facet<std" (binary_expression "__timepunct * std" identifier * identifier) (ERROR "::use_facet" : : identifier) < identifier) (ERROR "::__timepunct" : : identifier) < (binary_expression "wchar_t>>(locale *param_1)" identifier >> (parenthesized_expression "(locale *param_1)" ( (binary_expression "locale *param_1" identifier * identifier) ))))) (compound_statement "{\n  uint uVar1;\n  __timepunct *p_Var2;\n  ctype *pcVar3;\n  int iVar4;\n  int iVar5;\n  __timepunct _Var6;\n  __timepunct *p_Var7;\n  int *piVar8;\n  tm *unaff_s0;\n  undefined *puVar9;\n  char unaff_retaddr;\n  char cStackX_3;\n  wchar_t awStack_248 [256];\n  undefined4 uStack_48;\n  int iStack_44;\n  int iStack_40;\n  undefined4 uStack_3c;\n  locale *plStack_34;\n  \n  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);\n  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __throw_bad_cast();\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "__timepunct *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "ctype *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "__timepunct _Var6;" type_identifier identifier ;) (declaration "__timepunct *p_Var7;" type_identifier (pointer_declarator "*p_Var7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "tm *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char unaff_retaddr;" primitive_type identifier ;) (declaration "char cStackX_3;" primitive_type identifier ;) (declaration "wchar_t awStack_248 [256];" type_identifier (array_declarator "awStack_248 [256]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_48;" type_identifier identifier ;) (declaration "int iStack_44;" primitive_type identifier ;) (declaration "int iStack_40;" primitive_type identifier ;) (declaration "undefined4 uStack_3c;" type_identifier identifier ;) (declaration "locale *plStack_34;" type_identifier (pointer_declarator "*plStack_34" * identifier) ;) (expression_statement "uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);" (assignment_expression "uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80)" identifier = (call_expression "(*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80)" (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_004c2f80)" ( identifier )))) ;) (if_statement "if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }" if (parenthesized_expression "((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0))" ( (binary_expression "(uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)" (parenthesized_expression "(uVar1 < *(uint *)(*(int *)param_1 + 8))" ( (binary_expression "uVar1 < *(uint *)(*(int *)param_1 + 8)" identifier < (pointer_expression "*(uint *)(*(int *)param_1 + 8)" * (cast_expression "(uint *)(*(int *)param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1 + 8)" ( (binary_expression "*(int *)param_1 + 8" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) && (parenthesized_expression "(p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)" ( (comma_expression "p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0" (assignment_expression "p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" identifier = (pointer_expression "*(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" * (cast_expression "(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" ( (type_descriptor "__timepunct **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" ( (binary_expression "*(int *)(*(int *)param_1 + 4) + uVar1 * 4" (pointer_expression "*(int *)(*(int *)param_1 + 4)" * (cast_expression "(int *)(*(int *)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1 + 4)" ( (binary_expression "*(int *)param_1 + 4" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + (binary_expression "uVar1 * 4" identifier * number_literal)) ))))) , (binary_expression "p_Var7 != (__timepunct *)0x0" identifier != (cast_expression "(__timepunct *)0x0" ( (type_descriptor "__timepunct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }" { (expression_statement "_Var6 = (__timepunct)0x0;" (assignment_expression "_Var6 = (__timepunct)0x0" identifier = (cast_expression "(__timepunct)0x0" ( (type_descriptor "__timepunct" type_identifier) ) number_literal)) ;) (expression_statement "piVar8 = (int *)PTR_PTR_004c2f84;" (assignment_expression "piVar8 = (int *)PTR_PTR_004c2f84" identifier = (cast_expression "(int *)PTR_PTR_004c2f84" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);" (assignment_expression "p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364)" identifier = (cast_expression "(__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364)" ( (type_descriptor "__timepunct *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__dynamic_cast(p_Var7,PTR_PTR_004c1364)" identifier (argument_list "(p_Var7,PTR_PTR_004c1364)" ( identifier , identifier ))))) ;) (if_statement "if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }" if (parenthesized_expression "(p_Var2 != (__timepunct *)0x0)" ( (binary_expression "p_Var2 != (__timepunct *)0x0" identifier != (cast_expression "(__timepunct *)0x0" ( (type_descriptor "__timepunct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return p_Var2;\n    }" { (return_statement "return p_Var2;" return identifier ;) })) (expression_statement "puVar9 = PTR___cxa_bad_cast_004c2c80;" (assignment_expression "puVar9 = PTR___cxa_bad_cast_004c2c80" identifier = identifier) ;) (expression_statement "(*(code *)PTR___cxa_bad_cast_004c2c80)();" (call_expression "(*(code *)PTR___cxa_bad_cast_004c2c80)()" (parenthesized_expression "(*(code *)PTR___cxa_bad_cast_004c2c80)" ( (pointer_expression "*(code *)PTR___cxa_bad_cast_004c2c80" * (cast_expression "(code *)PTR___cxa_bad_cast_004c2c80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "plStack_34 = param_1;" (assignment_expression "plStack_34 = param_1" identifier = identifier) ;) (expression_statement "pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));" (binary_expression "pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (assignment_expression "pcVar3 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::ctype" : : identifier) < (binary_expression "wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" identifier >> (parenthesized_expression "((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" ( (cast_expression "(locale *)(gold::Position_dependent_options::default_options_ + 0x327c)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ + 0x327c)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ + 0x327c" identifier + number_literal) ))) )))) ;) (expression_statement "p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));" (binary_expression "p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (assignment_expression "p_Var2 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::__timepunct" : : identifier) < (binary_expression "wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" identifier >> (parenthesized_expression "((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" ( (cast_expression "(locale *)(gold::Position_dependent_options::default_options_ + 0x327c)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ + 0x327c)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ + 0x327c" identifier + number_literal) ))) )))) ;) (expression_statement "uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);" (assignment_expression "uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25)" identifier = (call_expression "(**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25)" (parenthesized_expression "(**(code **)(*(int *)pcVar3 + 0x28))" ( (pointer_expression "**(code **)(*(int *)pcVar3 + 0x28)" * (pointer_expression "*(code **)(*(int *)pcVar3 + 0x28)" * (cast_expression "(code **)(*(int *)pcVar3 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)pcVar3 + 0x28)" ( (binary_expression "*(int *)pcVar3 + 0x28" (pointer_expression "*(int *)pcVar3" * (cast_expression "(int *)pcVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar3,0x25)" ( identifier , number_literal )))) ;) (if_statement "if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" if (parenthesized_expression "(cStackX_3 == 0)" ( (binary_expression "cStackX_3 == 0" identifier == number_literal) )) (compound_statement "{\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }" { (expression_statement "iStack_40 = 0;" (assignment_expression "iStack_40 = 0" identifier = number_literal) ;) (expression_statement "iStack_44 = (int)unaff_retaddr;" (assignment_expression "iStack_44 = (int)unaff_retaddr" identifier = (cast_expression "(int)unaff_retaddr" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" else (compound_statement "{\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" { (expression_statement "uStack_3c = 0;" (assignment_expression "uStack_3c = 0" identifier = number_literal) ;) (expression_statement "iStack_44 = (int)cStackX_3;" (assignment_expression "iStack_44 = (int)cStackX_3" identifier = (cast_expression "(int)cStackX_3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iStack_40 = (int)unaff_retaddr;" (assignment_expression "iStack_40 = (int)unaff_retaddr" identifier = (cast_expression "(int)unaff_retaddr" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "__timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);" (binary_expression "__timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" (binary_expression "__timepunct<wchar_t" identifier < identifier) > (ERROR "::" : :) (call_expression "_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" identifier (argument_list "((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" ( (parenthesized_expression "(__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" ( (comma_expression "__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0" (binary_expression "__timepunct<wchar_t> *)p_Var2" (binary_expression "__timepunct<wchar_t" identifier < identifier) > (pointer_expression "*)p_Var2" * (ERROR ")" )) identifier)) , (comma_expression "awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0" identifier , (comma_expression "0x80,(wchar_t *)&uStack_48,unaff_s0" number_literal , (comma_expression "(wchar_t *)&uStack_48,unaff_s0" (cast_expression "(wchar_t *)&uStack_48" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_48" & identifier)) , identifier)))) )) )))) ;) (expression_statement "iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);" (assignment_expression "iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248)" identifier = (call_expression "(**(code **)(puVar9 + 0x126aa8))(awStack_248)" (parenthesized_expression "(**(code **)(puVar9 + 0x126aa8))" ( (pointer_expression "**(code **)(puVar9 + 0x126aa8)" * (pointer_expression "*(code **)(puVar9 + 0x126aa8)" * (cast_expression "(code **)(puVar9 + 0x126aa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x126aa8)" ( (binary_expression "puVar9 + 0x126aa8" identifier + number_literal) ))))) )) (argument_list "(awStack_248)" ( identifier )))) ;) (if_statement "if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }" if (parenthesized_expression "(_Var6 == (__timepunct)0x0)" ( (binary_expression "_Var6 == (__timepunct)0x0" identifier == (cast_expression "(__timepunct)0x0" ( (type_descriptor "__timepunct" type_identifier) ) number_literal)) )) (compound_statement "{\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }" { (expression_statement "iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);" (assignment_expression "iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4)" identifier = (call_expression "(**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4)" (parenthesized_expression "(**(code **)(*piVar8 + 0x30))" ( (pointer_expression "**(code **)(*piVar8 + 0x30)" * (pointer_expression "*(code **)(*piVar8 + 0x30)" * (cast_expression "(code **)(*piVar8 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x30)" ( (binary_expression "*piVar8 + 0x30" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8,awStack_248,iVar4)" ( identifier , identifier , identifier )))) ;) (expression_statement "_Var6 = (__timepunct)(iVar4 != iVar5);" (assignment_expression "_Var6 = (__timepunct)(iVar4 != iVar5)" identifier = (call_expression "(__timepunct)(iVar4 != iVar5)" (parenthesized_expression "(__timepunct)" ( identifier )) (argument_list "(iVar4 != iVar5)" ( (binary_expression "iVar4 != iVar5" identifier != identifier) )))) ;) })) (expression_statement "*(int **)p_Var7 = piVar8;" (assignment_expression "*(int **)p_Var7 = piVar8" (pointer_expression "*(int **)p_Var7" * (cast_expression "(int **)p_Var7" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "p_Var7[4] = _Var6;" (assignment_expression "p_Var7[4] = _Var6" (subscript_expression "p_Var7[4]" identifier [ number_literal ]) = identifier) ;) (return_statement "return p_Var7;" return identifier ;) })) comment (expression_statement "__throw_bad_cast();" (call_expression "__throw_bad_cast()" identifier (argument_list "()" ( ))) ;) }))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* 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::__timepunct<wchar_t> const& std::use_facet<std::__timepunct<wchar_t> >(std::locale const&)\n    */\n\n__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)\n\n{\n  uint uVar1;\n  __timepunct *p_Var2;\n  ctype *pcVar3;\n  int iVar4;\n  int iVar5;\n  __timepunct _Var6;\n  __timepunct *p_Var7;\n  int *piVar8;\n  tm *unaff_s0;\n  undefined *puVar9;\n  char unaff_retaddr;\n  char cStackX_3;\n  wchar_t awStack_248 [256];\n  undefined4 uStack_48;\n  int iStack_44;\n  int iStack_40;\n  undefined4 uStack_3c;\n  locale *plStack_34;\n  \n  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);\n  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __throw_bad_cast();\n}\n\n" comment comment comment comment comment comment comment comment (ERROR "__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)" (binary_expression "__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)" (binary_expression "__timepunct * std::use_facet<std" (binary_expression "__timepunct * std" identifier * identifier) (ERROR "::use_facet" : : identifier) < identifier) (ERROR "::__timepunct" : : identifier) < (binary_expression "wchar_t>>(locale *param_1)" identifier >> (parenthesized_expression "(locale *param_1)" ( (binary_expression "locale *param_1" identifier * identifier) ))))) (compound_statement "{\n  uint uVar1;\n  __timepunct *p_Var2;\n  ctype *pcVar3;\n  int iVar4;\n  int iVar5;\n  __timepunct _Var6;\n  __timepunct *p_Var7;\n  int *piVar8;\n  tm *unaff_s0;\n  undefined *puVar9;\n  char unaff_retaddr;\n  char cStackX_3;\n  wchar_t awStack_248 [256];\n  undefined4 uStack_48;\n  int iStack_44;\n  int iStack_40;\n  undefined4 uStack_3c;\n  locale *plStack_34;\n  \n  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);\n  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __throw_bad_cast();\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "__timepunct *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "ctype *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "__timepunct _Var6;" type_identifier identifier ;) (declaration "__timepunct *p_Var7;" type_identifier (pointer_declarator "*p_Var7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "tm *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char unaff_retaddr;" primitive_type identifier ;) (declaration "char cStackX_3;" primitive_type identifier ;) (declaration "wchar_t awStack_248 [256];" type_identifier (array_declarator "awStack_248 [256]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_48;" type_identifier identifier ;) (declaration "int iStack_44;" primitive_type identifier ;) (declaration "int iStack_40;" primitive_type identifier ;) (declaration "undefined4 uStack_3c;" type_identifier identifier ;) (declaration "locale *plStack_34;" type_identifier (pointer_declarator "*plStack_34" * identifier) ;) (expression_statement "uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);" (assignment_expression "uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80)" identifier = (call_expression "(*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80)" (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_004c2f80)" ( identifier )))) ;) (if_statement "if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }" if (parenthesized_expression "((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0))" ( (binary_expression "(uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)" (parenthesized_expression "(uVar1 < *(uint *)(*(int *)param_1 + 8))" ( (binary_expression "uVar1 < *(uint *)(*(int *)param_1 + 8)" identifier < (pointer_expression "*(uint *)(*(int *)param_1 + 8)" * (cast_expression "(uint *)(*(int *)param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1 + 8)" ( (binary_expression "*(int *)param_1 + 8" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) && (parenthesized_expression "(p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)" ( (comma_expression "p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0" (assignment_expression "p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" identifier = (pointer_expression "*(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" * (cast_expression "(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" ( (type_descriptor "__timepunct **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" ( (binary_expression "*(int *)(*(int *)param_1 + 4) + uVar1 * 4" (pointer_expression "*(int *)(*(int *)param_1 + 4)" * (cast_expression "(int *)(*(int *)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1 + 4)" ( (binary_expression "*(int *)param_1 + 4" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + (binary_expression "uVar1 * 4" identifier * number_literal)) ))))) , (binary_expression "p_Var7 != (__timepunct *)0x0" identifier != (cast_expression "(__timepunct *)0x0" ( (type_descriptor "__timepunct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }" { (expression_statement "_Var6 = (__timepunct)0x0;" (assignment_expression "_Var6 = (__timepunct)0x0" identifier = (cast_expression "(__timepunct)0x0" ( (type_descriptor "__timepunct" type_identifier) ) number_literal)) ;) (expression_statement "piVar8 = (int *)PTR_PTR_004c2f84;" (assignment_expression "piVar8 = (int *)PTR_PTR_004c2f84" identifier = (cast_expression "(int *)PTR_PTR_004c2f84" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);" (assignment_expression "p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364)" identifier = (cast_expression "(__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364)" ( (type_descriptor "__timepunct *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__dynamic_cast(p_Var7,PTR_PTR_004c1364)" identifier (argument_list "(p_Var7,PTR_PTR_004c1364)" ( identifier , identifier ))))) ;) (if_statement "if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }" if (parenthesized_expression "(p_Var2 != (__timepunct *)0x0)" ( (binary_expression "p_Var2 != (__timepunct *)0x0" identifier != (cast_expression "(__timepunct *)0x0" ( (type_descriptor "__timepunct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return p_Var2;\n    }" { (return_statement "return p_Var2;" return identifier ;) })) (expression_statement "puVar9 = PTR___cxa_bad_cast_004c2c80;" (assignment_expression "puVar9 = PTR___cxa_bad_cast_004c2c80" identifier = identifier) ;) (expression_statement "(*(code *)PTR___cxa_bad_cast_004c2c80)();" (call_expression "(*(code *)PTR___cxa_bad_cast_004c2c80)()" (parenthesized_expression "(*(code *)PTR___cxa_bad_cast_004c2c80)" ( (pointer_expression "*(code *)PTR___cxa_bad_cast_004c2c80" * (cast_expression "(code *)PTR___cxa_bad_cast_004c2c80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "plStack_34 = param_1;" (assignment_expression "plStack_34 = param_1" identifier = identifier) ;) (expression_statement "pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);" (binary_expression "pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg)" (assignment_expression "pcVar3 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::ctype" : : identifier) < (binary_expression "wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg)" identifier >> (parenthesized_expression "((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg)" ( (field_expression "(locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg" (field_expression "(locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option" (field_expression "(locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_" (cast_expression "(locale *)\n                        &gold" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&gold" & identifier)) (ERROR "::Position_dependent_options::default_options_" : : identifier : : identifier) . field_identifier) . field_identifier) . field_identifier) )))) ;) (expression_statement "p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg);" (binary_expression "p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg)" (assignment_expression "p_Var2 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::__timepunct" : : identifier) < (binary_expression "wchar_t>>\n                       ((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg)" identifier >> (parenthesized_expression "((locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg)" ( (field_expression "(locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option.helparg" (field_expression "(locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.\n                         option" (field_expression "(locale *)\n                        &gold::Position_dependent_options::default_options_.retain_symbols_file_" (cast_expression "(locale *)\n                        &gold" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&gold" & identifier)) (ERROR "::Position_dependent_options::default_options_" : : identifier : : identifier) . field_identifier) . field_identifier) . field_identifier) )))) ;) (expression_statement "uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);" (assignment_expression "uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25)" identifier = (call_expression "(**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25)" (parenthesized_expression "(**(code **)(*(int *)pcVar3 + 0x28))" ( (pointer_expression "**(code **)(*(int *)pcVar3 + 0x28)" * (pointer_expression "*(code **)(*(int *)pcVar3 + 0x28)" * (cast_expression "(code **)(*(int *)pcVar3 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)pcVar3 + 0x28)" ( (binary_expression "*(int *)pcVar3 + 0x28" (pointer_expression "*(int *)pcVar3" * (cast_expression "(int *)pcVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar3,0x25)" ( identifier , number_literal )))) ;) (if_statement "if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" if (parenthesized_expression "(cStackX_3 == 0)" ( (binary_expression "cStackX_3 == 0" identifier == number_literal) )) (compound_statement "{\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }" { (expression_statement "iStack_40 = 0;" (assignment_expression "iStack_40 = 0" identifier = number_literal) ;) (expression_statement "iStack_44 = (int)unaff_retaddr;" (assignment_expression "iStack_44 = (int)unaff_retaddr" identifier = (cast_expression "(int)unaff_retaddr" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" else (compound_statement "{\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" { (expression_statement "uStack_3c = 0;" (assignment_expression "uStack_3c = 0" identifier = number_literal) ;) (expression_statement "iStack_44 = (int)cStackX_3;" (assignment_expression "iStack_44 = (int)cStackX_3" identifier = (cast_expression "(int)cStackX_3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iStack_40 = (int)unaff_retaddr;" (assignment_expression "iStack_40 = (int)unaff_retaddr" identifier = (cast_expression "(int)unaff_retaddr" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "__timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);" (binary_expression "__timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" (binary_expression "__timepunct<wchar_t" identifier < identifier) > (ERROR "::" : :) (call_expression "_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" identifier (argument_list "((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" ( (parenthesized_expression "(__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" ( (comma_expression "__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0" (binary_expression "__timepunct<wchar_t> *)p_Var2" (binary_expression "__timepunct<wchar_t" identifier < identifier) > (pointer_expression "*)p_Var2" * (ERROR ")" )) identifier)) , (comma_expression "awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0" identifier , (comma_expression "0x80,(wchar_t *)&uStack_48,unaff_s0" number_literal , (comma_expression "(wchar_t *)&uStack_48,unaff_s0" (cast_expression "(wchar_t *)&uStack_48" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_48" & identifier)) , identifier)))) )) )))) ;) (expression_statement "iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);" (assignment_expression "iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248)" identifier = (call_expression "(**(code **)(puVar9 + 0x126aa8))(awStack_248)" (parenthesized_expression "(**(code **)(puVar9 + 0x126aa8))" ( (pointer_expression "**(code **)(puVar9 + 0x126aa8)" * (pointer_expression "*(code **)(puVar9 + 0x126aa8)" * (cast_expression "(code **)(puVar9 + 0x126aa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x126aa8)" ( (binary_expression "puVar9 + 0x126aa8" identifier + number_literal) ))))) )) (argument_list "(awStack_248)" ( identifier )))) ;) (if_statement "if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }" if (parenthesized_expression "(_Var6 == (__timepunct)0x0)" ( (binary_expression "_Var6 == (__timepunct)0x0" identifier == (cast_expression "(__timepunct)0x0" ( (type_descriptor "__timepunct" type_identifier) ) number_literal)) )) (compound_statement "{\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }" { (expression_statement "iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);" (assignment_expression "iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4)" identifier = (call_expression "(**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4)" (parenthesized_expression "(**(code **)(*piVar8 + 0x30))" ( (pointer_expression "**(code **)(*piVar8 + 0x30)" * (pointer_expression "*(code **)(*piVar8 + 0x30)" * (cast_expression "(code **)(*piVar8 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x30)" ( (binary_expression "*piVar8 + 0x30" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8,awStack_248,iVar4)" ( identifier , identifier , identifier )))) ;) (expression_statement "_Var6 = (__timepunct)(iVar4 != iVar5);" (assignment_expression "_Var6 = (__timepunct)(iVar4 != iVar5)" identifier = (call_expression "(__timepunct)(iVar4 != iVar5)" (parenthesized_expression "(__timepunct)" ( identifier )) (argument_list "(iVar4 != iVar5)" ( (binary_expression "iVar4 != iVar5" identifier != identifier) )))) ;) })) (expression_statement "*(int **)p_Var7 = piVar8;" (assignment_expression "*(int **)p_Var7 = piVar8" (pointer_expression "*(int **)p_Var7" * (cast_expression "(int **)p_Var7" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "p_Var7[4] = _Var6;" (assignment_expression "p_Var7[4] = _Var6" (subscript_expression "p_Var7[4]" identifier [ number_literal ]) = identifier) ;) (return_statement "return p_Var7;" return identifier ;) })) comment (expression_statement "__throw_bad_cast();" (call_expression "__throw_bad_cast()" identifier (argument_list "()" ( ))) ;) }))
(translation_unit "__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)\n\n{\n  uint uVar1;\n  __timepunct *p_Var2;\n  ctype *pcVar3;\n  int iVar4;\n  int iVar5;\n  __timepunct _Var6;\n  __timepunct *p_Var7;\n  int *piVar8;\n  tm *unaff_s0;\n  undefined *puVar9;\n  char unaff_retaddr;\n  char cStackX_3;\n  wchar_t awStack_248 [256];\n  undefined4 uStack_48;\n  int iStack_44;\n  int iStack_40;\n  undefined4 uStack_3c;\n  locale *plStack_34;\n  \n  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);\n  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }\n                    \n  __throw_bad_cast();\n}\n\n" (ERROR "__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)" (binary_expression "__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)" (binary_expression "__timepunct * std::use_facet<std" (binary_expression "__timepunct * std" identifier * identifier) (ERROR "::use_facet" : : identifier) < identifier) (ERROR "::__timepunct" : : identifier) < (binary_expression "wchar_t>>(locale *param_1)" identifier >> (parenthesized_expression "(locale *param_1)" ( (binary_expression "locale *param_1" identifier * identifier) ))))) (compound_statement "{\n  uint uVar1;\n  __timepunct *p_Var2;\n  ctype *pcVar3;\n  int iVar4;\n  int iVar5;\n  __timepunct _Var6;\n  __timepunct *p_Var7;\n  int *piVar8;\n  tm *unaff_s0;\n  undefined *puVar9;\n  char unaff_retaddr;\n  char cStackX_3;\n  wchar_t awStack_248 [256];\n  undefined4 uStack_48;\n  int iStack_44;\n  int iStack_40;\n  undefined4 uStack_3c;\n  locale *plStack_34;\n  \n  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);\n  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }\n                    \n  __throw_bad_cast();\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "__timepunct *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "ctype *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "__timepunct _Var6;" type_identifier identifier ;) (declaration "__timepunct *p_Var7;" type_identifier (pointer_declarator "*p_Var7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "tm *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char unaff_retaddr;" primitive_type identifier ;) (declaration "char cStackX_3;" primitive_type identifier ;) (declaration "wchar_t awStack_248 [256];" type_identifier (array_declarator "awStack_248 [256]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_48;" type_identifier identifier ;) (declaration "int iStack_44;" primitive_type identifier ;) (declaration "int iStack_40;" primitive_type identifier ;) (declaration "undefined4 uStack_3c;" type_identifier identifier ;) (declaration "locale *plStack_34;" type_identifier (pointer_declarator "*plStack_34" * identifier) ;) (expression_statement "uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);" (assignment_expression "uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80)" identifier = (call_expression "(*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80)" (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_004c2f80)" ( identifier )))) ;) (if_statement "if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }" if (parenthesized_expression "((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0))" ( (binary_expression "(uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)" (parenthesized_expression "(uVar1 < *(uint *)(*(int *)param_1 + 8))" ( (binary_expression "uVar1 < *(uint *)(*(int *)param_1 + 8)" identifier < (pointer_expression "*(uint *)(*(int *)param_1 + 8)" * (cast_expression "(uint *)(*(int *)param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1 + 8)" ( (binary_expression "*(int *)param_1 + 8" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) && (parenthesized_expression "(p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)" ( (comma_expression "p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0" (assignment_expression "p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" identifier = (pointer_expression "*(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" * (cast_expression "(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" ( (type_descriptor "__timepunct **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" ( (binary_expression "*(int *)(*(int *)param_1 + 4) + uVar1 * 4" (pointer_expression "*(int *)(*(int *)param_1 + 4)" * (cast_expression "(int *)(*(int *)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1 + 4)" ( (binary_expression "*(int *)param_1 + 4" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + (binary_expression "uVar1 * 4" identifier * number_literal)) ))))) , (binary_expression "p_Var7 != (__timepunct *)0x0" identifier != (cast_expression "(__timepunct *)0x0" ( (type_descriptor "__timepunct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }" { (expression_statement "_Var6 = (__timepunct)0x0;" (assignment_expression "_Var6 = (__timepunct)0x0" identifier = (cast_expression "(__timepunct)0x0" ( (type_descriptor "__timepunct" type_identifier) ) number_literal)) ;) (expression_statement "piVar8 = (int *)PTR_PTR_004c2f84;" (assignment_expression "piVar8 = (int *)PTR_PTR_004c2f84" identifier = (cast_expression "(int *)PTR_PTR_004c2f84" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);" (assignment_expression "p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364)" identifier = (cast_expression "(__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364)" ( (type_descriptor "__timepunct *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__dynamic_cast(p_Var7,PTR_PTR_004c1364)" identifier (argument_list "(p_Var7,PTR_PTR_004c1364)" ( identifier , identifier ))))) ;) (if_statement "if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }" if (parenthesized_expression "(p_Var2 != (__timepunct *)0x0)" ( (binary_expression "p_Var2 != (__timepunct *)0x0" identifier != (cast_expression "(__timepunct *)0x0" ( (type_descriptor "__timepunct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return p_Var2;\n    }" { (return_statement "return p_Var2;" return identifier ;) })) (expression_statement "puVar9 = PTR___cxa_bad_cast_004c2c80;" (assignment_expression "puVar9 = PTR___cxa_bad_cast_004c2c80" identifier = identifier) ;) (expression_statement "(*(code *)PTR___cxa_bad_cast_004c2c80)();" (call_expression "(*(code *)PTR___cxa_bad_cast_004c2c80)()" (parenthesized_expression "(*(code *)PTR___cxa_bad_cast_004c2c80)" ( (pointer_expression "*(code *)PTR___cxa_bad_cast_004c2c80" * (cast_expression "(code *)PTR___cxa_bad_cast_004c2c80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "plStack_34 = param_1;" (assignment_expression "plStack_34 = param_1" identifier = identifier) ;) (expression_statement "pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));" (binary_expression "pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (assignment_expression "pcVar3 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::ctype" : : identifier) < (binary_expression "wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" identifier >> (parenthesized_expression "((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" ( (cast_expression "(locale *)(gold::Position_dependent_options::default_options_ + 0x327c)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ + 0x327c)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ + 0x327c" identifier + number_literal) ))) )))) ;) (expression_statement "p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));" (binary_expression "p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (assignment_expression "p_Var2 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::__timepunct" : : identifier) < (binary_expression "wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" identifier >> (parenthesized_expression "((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" ( (cast_expression "(locale *)(gold::Position_dependent_options::default_options_ + 0x327c)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ + 0x327c)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ + 0x327c" identifier + number_literal) ))) )))) ;) (expression_statement "uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);" (assignment_expression "uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25)" identifier = (call_expression "(**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25)" (parenthesized_expression "(**(code **)(*(int *)pcVar3 + 0x28))" ( (pointer_expression "**(code **)(*(int *)pcVar3 + 0x28)" * (pointer_expression "*(code **)(*(int *)pcVar3 + 0x28)" * (cast_expression "(code **)(*(int *)pcVar3 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)pcVar3 + 0x28)" ( (binary_expression "*(int *)pcVar3 + 0x28" (pointer_expression "*(int *)pcVar3" * (cast_expression "(int *)pcVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar3,0x25)" ( identifier , number_literal )))) ;) (if_statement "if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" if (parenthesized_expression "(cStackX_3 == 0)" ( (binary_expression "cStackX_3 == 0" identifier == number_literal) )) (compound_statement "{\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }" { (expression_statement "iStack_40 = 0;" (assignment_expression "iStack_40 = 0" identifier = number_literal) ;) (expression_statement "iStack_44 = (int)unaff_retaddr;" (assignment_expression "iStack_44 = (int)unaff_retaddr" identifier = (cast_expression "(int)unaff_retaddr" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" else (compound_statement "{\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" { (expression_statement "uStack_3c = 0;" (assignment_expression "uStack_3c = 0" identifier = number_literal) ;) (expression_statement "iStack_44 = (int)cStackX_3;" (assignment_expression "iStack_44 = (int)cStackX_3" identifier = (cast_expression "(int)cStackX_3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iStack_40 = (int)unaff_retaddr;" (assignment_expression "iStack_40 = (int)unaff_retaddr" identifier = (cast_expression "(int)unaff_retaddr" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "__timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);" (binary_expression "__timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" (binary_expression "__timepunct<wchar_t" identifier < identifier) > (ERROR "::" : :) (call_expression "_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" identifier (argument_list "((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" ( (parenthesized_expression "(__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" ( (comma_expression "__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0" (binary_expression "__timepunct<wchar_t> *)p_Var2" (binary_expression "__timepunct<wchar_t" identifier < identifier) > (pointer_expression "*)p_Var2" * (ERROR ")" )) identifier)) , (comma_expression "awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0" identifier , (comma_expression "0x80,(wchar_t *)&uStack_48,unaff_s0" number_literal , (comma_expression "(wchar_t *)&uStack_48,unaff_s0" (cast_expression "(wchar_t *)&uStack_48" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_48" & identifier)) , identifier)))) )) )))) ;) (expression_statement "iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);" (assignment_expression "iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248)" identifier = (call_expression "(**(code **)(puVar9 + 0x126aa8))(awStack_248)" (parenthesized_expression "(**(code **)(puVar9 + 0x126aa8))" ( (pointer_expression "**(code **)(puVar9 + 0x126aa8)" * (pointer_expression "*(code **)(puVar9 + 0x126aa8)" * (cast_expression "(code **)(puVar9 + 0x126aa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x126aa8)" ( (binary_expression "puVar9 + 0x126aa8" identifier + number_literal) ))))) )) (argument_list "(awStack_248)" ( identifier )))) ;) (if_statement "if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }" if (parenthesized_expression "(_Var6 == (__timepunct)0x0)" ( (binary_expression "_Var6 == (__timepunct)0x0" identifier == (cast_expression "(__timepunct)0x0" ( (type_descriptor "__timepunct" type_identifier) ) number_literal)) )) (compound_statement "{\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }" { (expression_statement "iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);" (assignment_expression "iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4)" identifier = (call_expression "(**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4)" (parenthesized_expression "(**(code **)(*piVar8 + 0x30))" ( (pointer_expression "**(code **)(*piVar8 + 0x30)" * (pointer_expression "*(code **)(*piVar8 + 0x30)" * (cast_expression "(code **)(*piVar8 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x30)" ( (binary_expression "*piVar8 + 0x30" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8,awStack_248,iVar4)" ( identifier , identifier , identifier )))) ;) (expression_statement "_Var6 = (__timepunct)(iVar4 != iVar5);" (assignment_expression "_Var6 = (__timepunct)(iVar4 != iVar5)" identifier = (call_expression "(__timepunct)(iVar4 != iVar5)" (parenthesized_expression "(__timepunct)" ( identifier )) (argument_list "(iVar4 != iVar5)" ( (binary_expression "iVar4 != iVar5" identifier != identifier) )))) ;) })) (expression_statement "*(int **)p_Var7 = piVar8;" (assignment_expression "*(int **)p_Var7 = piVar8" (pointer_expression "*(int **)p_Var7" * (cast_expression "(int **)p_Var7" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "p_Var7[4] = _Var6;" (assignment_expression "p_Var7[4] = _Var6" (subscript_expression "p_Var7[4]" identifier [ number_literal ]) = identifier) ;) (return_statement "return p_Var7;" return identifier ;) })) (expression_statement "__throw_bad_cast();" (call_expression "__throw_bad_cast()" identifier (argument_list "()" ( ))) ;) }))
(translation_unit (ERROR (binary_expression (binary_expression (binary_expression IDENT * IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) < (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT * IDENT) ))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (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 (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 *)) ) IDENT)) + LIT) )))) + (binary_expression IDENT * LIT)) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (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 *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return 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 ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (binary_expression (assignment_expression IDENT = (binary_expression IDENT < IDENT)) (ERROR : : IDENT) < (binary_expression IDENT >> (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (ERROR IDENT : : IDENT : :) (binary_expression IDENT + LIT) ))) )))) ;) (expression_statement (binary_expression (assignment_expression IDENT = (binary_expression IDENT < IDENT)) (ERROR : : IDENT) < (binary_expression IDENT >> (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (ERROR IDENT : : IDENT : :) (binary_expression IDENT + LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (binary_expression (binary_expression IDENT < IDENT) > (ERROR : :) (call_expression IDENT (argument_list ( (parenthesized_expression ( (comma_expression (binary_expression (binary_expression IDENT < IDENT) > (pointer_expression * (ERROR )) IDENT)) , (comma_expression IDENT , (comma_expression LIT , (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT)))) )) )))) ;) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) 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 = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != IDENT) )))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))
(ERROR "__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)" (binary_expression "__timepunct * std::use_facet<std::__timepunct<wchar_t>>(locale *param_1)" (binary_expression "__timepunct * std::use_facet<std" (binary_expression "__timepunct * std" (identifier "__timepunct") (* "*") (identifier "std")) (ERROR "::use_facet" (: ":") (: ":") (identifier "use_facet")) (< "<") (identifier "std")) (ERROR "::__timepunct" (: ":") (: ":") (identifier "__timepunct")) (< "<") (binary_expression "wchar_t>>(locale *param_1)" (identifier "wchar_t") (>> ">>") (parenthesized_expression "(locale *param_1)" (( "(") (binary_expression "locale *param_1" (identifier "locale") (* "*") (identifier "param_1")) () ")"))))) (compound_statement "{\n  uint uVar1;\n  __timepunct *p_Var2;\n  ctype *pcVar3;\n  int iVar4;\n  int iVar5;\n  __timepunct _Var6;\n  __timepunct *p_Var7;\n  int *piVar8;\n  tm *unaff_s0;\n  undefined *puVar9;\n  char unaff_retaddr;\n  char cStackX_3;\n  wchar_t awStack_248 [256];\n  undefined4 uStack_48;\n  int iStack_44;\n  int iStack_40;\n  undefined4 uStack_3c;\n  locale *plStack_34;\n  \n  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);\n  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }\n                    \n  __throw_bad_cast();\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "__timepunct *p_Var2;" (type_identifier "__timepunct") (pointer_declarator "*p_Var2" (* "*") (identifier "p_Var2")) (; ";")) (declaration "ctype *pcVar3;" (type_identifier "ctype") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "__timepunct _Var6;" (type_identifier "__timepunct") (identifier "_Var6") (; ";")) (declaration "__timepunct *p_Var7;" (type_identifier "__timepunct") (pointer_declarator "*p_Var7" (* "*") (identifier "p_Var7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "tm *unaff_s0;" (type_identifier "tm") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "char unaff_retaddr;" (primitive_type "char") (identifier "unaff_retaddr") (; ";")) (declaration "char cStackX_3;" (primitive_type "char") (identifier "cStackX_3") (; ";")) (declaration "wchar_t awStack_248 [256];" (type_identifier "wchar_t") (array_declarator "awStack_248 [256]" (identifier "awStack_248") ([ "[") (number_literal "256") (] "]")) (; ";")) (declaration "undefined4 uStack_48;" (type_identifier "undefined4") (identifier "uStack_48") (; ";")) (declaration "int iStack_44;" (primitive_type "int") (identifier "iStack_44") (; ";")) (declaration "int iStack_40;" (primitive_type "int") (identifier "iStack_40") (; ";")) (declaration "undefined4 uStack_3c;" (type_identifier "undefined4") (identifier "uStack_3c") (; ";")) (declaration "locale *plStack_34;" (type_identifier "locale") (pointer_declarator "*plStack_34" (* "*") (identifier "plStack_34")) (; ";")) (expression_statement "uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);" (assignment_expression "uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80)" (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_004c2f80)" (( "(") (identifier "PTR_id_004c2f80") () ")")))) (; ";")) (if_statement "if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)) {\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }" (if "if") (parenthesized_expression "((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0))" (( "(") (binary_expression "(uVar1 < *(uint *)(*(int *)param_1 + 8)) &&\n     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)" (parenthesized_expression "(uVar1 < *(uint *)(*(int *)param_1 + 8))" (( "(") (binary_expression "uVar1 < *(uint *)(*(int *)param_1 + 8)" (identifier "uVar1") (< "<") (pointer_expression "*(uint *)(*(int *)param_1 + 8)" (* "*") (cast_expression "(uint *)(*(int *)param_1 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)param_1 + 8)" (( "(") (binary_expression "*(int *)param_1 + 8" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0)" (( "(") (comma_expression "p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),\n     p_Var7 != (__timepunct *)0x0" (assignment_expression "p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" (identifier "p_Var7") (= "=") (pointer_expression "*(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" (* "*") (cast_expression "(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" (( "(") (type_descriptor "__timepunct **" (type_identifier "__timepunct") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*(int *)param_1 + 4) + uVar1 * 4)" (( "(") (binary_expression "*(int *)(*(int *)param_1 + 4) + uVar1 * 4" (pointer_expression "*(int *)(*(int *)param_1 + 4)" (* "*") (cast_expression "(int *)(*(int *)param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)param_1 + 4)" (( "(") (binary_expression "*(int *)param_1 + 4" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "4")) () ")")))) (+ "+") (binary_expression "uVar1 * 4" (identifier "uVar1") (* "*") (number_literal "4"))) () ")"))))) (, ",") (binary_expression "p_Var7 != (__timepunct *)0x0" (identifier "p_Var7") (!= "!=") (cast_expression "(__timepunct *)0x0" (( "(") (type_descriptor "__timepunct *" (type_identifier "__timepunct") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    _Var6 = (__timepunct)0x0;\n    piVar8 = (int *)PTR_PTR_004c2f84;\n    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);\n    if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }\n    puVar9 = PTR___cxa_bad_cast_004c2c80;\n    (*(code *)PTR___cxa_bad_cast_004c2c80)();\n    plStack_34 = param_1;\n    pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));\n    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);\n    if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }\n    __timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);\n    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);\n    if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }\n    *(int **)p_Var7 = piVar8;\n    p_Var7[4] = _Var6;\n    return p_Var7;\n  }" ({ "{") (expression_statement "_Var6 = (__timepunct)0x0;" (assignment_expression "_Var6 = (__timepunct)0x0" (identifier "_Var6") (= "=") (cast_expression "(__timepunct)0x0" (( "(") (type_descriptor "__timepunct" (type_identifier "__timepunct")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar8 = (int *)PTR_PTR_004c2f84;" (assignment_expression "piVar8 = (int *)PTR_PTR_004c2f84" (identifier "piVar8") (= "=") (cast_expression "(int *)PTR_PTR_004c2f84" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_PTR_004c2f84"))) (; ";")) (expression_statement "p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);" (assignment_expression "p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364)" (identifier "p_Var2") (= "=") (cast_expression "(__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364)" (( "(") (type_descriptor "__timepunct *" (type_identifier "__timepunct") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "__dynamic_cast(p_Var7,PTR_PTR_004c1364)" (identifier "__dynamic_cast") (argument_list "(p_Var7,PTR_PTR_004c1364)" (( "(") (identifier "p_Var7") (, ",") (identifier "PTR_PTR_004c1364") () ")"))))) (; ";")) (if_statement "if (p_Var2 != (__timepunct *)0x0) {\n      return p_Var2;\n    }" (if "if") (parenthesized_expression "(p_Var2 != (__timepunct *)0x0)" (( "(") (binary_expression "p_Var2 != (__timepunct *)0x0" (identifier "p_Var2") (!= "!=") (cast_expression "(__timepunct *)0x0" (( "(") (type_descriptor "__timepunct *" (type_identifier "__timepunct") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return p_Var2;\n    }" ({ "{") (return_statement "return p_Var2;" (return "return") (identifier "p_Var2") (; ";")) (} "}"))) (expression_statement "puVar9 = PTR___cxa_bad_cast_004c2c80;" (assignment_expression "puVar9 = PTR___cxa_bad_cast_004c2c80" (identifier "puVar9") (= "=") (identifier "PTR___cxa_bad_cast_004c2c80")) (; ";")) (expression_statement "(*(code *)PTR___cxa_bad_cast_004c2c80)();" (call_expression "(*(code *)PTR___cxa_bad_cast_004c2c80)()" (parenthesized_expression "(*(code *)PTR___cxa_bad_cast_004c2c80)" (( "(") (pointer_expression "*(code *)PTR___cxa_bad_cast_004c2c80" (* "*") (cast_expression "(code *)PTR___cxa_bad_cast_004c2c80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___cxa_bad_cast_004c2c80"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "plStack_34 = param_1;" (assignment_expression "plStack_34 = param_1" (identifier "plStack_34") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));" (binary_expression "pcVar3 = use_facet<std::ctype<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (assignment_expression "pcVar3 = use_facet<std" (identifier "pcVar3") (= "=") (binary_expression "use_facet<std" (identifier "use_facet") (< "<") (identifier "std"))) (ERROR "::ctype" (: ":") (: ":") (identifier "ctype")) (< "<") (binary_expression "wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (identifier "wchar_t") (>> ">>") (parenthesized_expression "((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (( "(") (cast_expression "(locale *)(gold::Position_dependent_options::default_options_ + 0x327c)" (( "(") (type_descriptor "locale *" (type_identifier "locale") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(gold::Position_dependent_options::default_options_ + 0x327c)" (( "(") (ERROR "gold::Position_dependent_options::" (identifier "gold") (: ":") (: ":") (identifier "Position_dependent_options") (: ":") (: ":")) (binary_expression "default_options_ + 0x327c" (identifier "default_options_") (+ "+") (number_literal "0x327c")) () ")"))) () ")")))) (; ";")) (expression_statement "p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));" (binary_expression "p_Var2 = use_facet<std::__timepunct<wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (assignment_expression "p_Var2 = use_facet<std" (identifier "p_Var2") (= "=") (binary_expression "use_facet<std" (identifier "use_facet") (< "<") (identifier "std"))) (ERROR "::__timepunct" (: ":") (: ":") (identifier "__timepunct")) (< "<") (binary_expression "wchar_t>>\n                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (identifier "wchar_t") (>> ">>") (parenthesized_expression "((locale *)(gold::Position_dependent_options::default_options_ + 0x327c))" (( "(") (cast_expression "(locale *)(gold::Position_dependent_options::default_options_ + 0x327c)" (( "(") (type_descriptor "locale *" (type_identifier "locale") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(gold::Position_dependent_options::default_options_ + 0x327c)" (( "(") (ERROR "gold::Position_dependent_options::" (identifier "gold") (: ":") (: ":") (identifier "Position_dependent_options") (: ":") (: ":")) (binary_expression "default_options_ + 0x327c" (identifier "default_options_") (+ "+") (number_literal "0x327c")) () ")"))) () ")")))) (; ";")) (expression_statement "uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);" (assignment_expression "uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25)" (identifier "uStack_48") (= "=") (call_expression "(**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25)" (parenthesized_expression "(**(code **)(*(int *)pcVar3 + 0x28))" (( "(") (pointer_expression "**(code **)(*(int *)pcVar3 + 0x28)" (* "*") (pointer_expression "*(code **)(*(int *)pcVar3 + 0x28)" (* "*") (cast_expression "(code **)(*(int *)pcVar3 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)pcVar3 + 0x28)" (( "(") (binary_expression "*(int *)pcVar3 + 0x28" (pointer_expression "*(int *)pcVar3" (* "*") (cast_expression "(int *)pcVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar3"))) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(pcVar3,0x25)" (( "(") (identifier "pcVar3") (, ",") (number_literal "0x25") () ")")))) (; ";")) (if_statement "if (cStackX_3 == 0) {\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }\n    else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" (if "if") (parenthesized_expression "(cStackX_3 == 0)" (( "(") (binary_expression "cStackX_3 == 0" (identifier "cStackX_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iStack_40 = 0;\n      iStack_44 = (int)unaff_retaddr;\n    }" ({ "{") (expression_statement "iStack_40 = 0;" (assignment_expression "iStack_40 = 0" (identifier "iStack_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_44 = (int)unaff_retaddr;" (assignment_expression "iStack_44 = (int)unaff_retaddr" (identifier "iStack_44") (= "=") (cast_expression "(int)unaff_retaddr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_retaddr"))) (; ";")) (} "}")) (else_clause "else {\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" (else "else") (compound_statement "{\n      uStack_3c = 0;\n      iStack_44 = (int)cStackX_3;\n      iStack_40 = (int)unaff_retaddr;\n    }" ({ "{") (expression_statement "uStack_3c = 0;" (assignment_expression "uStack_3c = 0" (identifier "uStack_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_44 = (int)cStackX_3;" (assignment_expression "iStack_44 = (int)cStackX_3" (identifier "iStack_44") (= "=") (cast_expression "(int)cStackX_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cStackX_3"))) (; ";")) (expression_statement "iStack_40 = (int)unaff_retaddr;" (assignment_expression "iStack_40 = (int)unaff_retaddr" (identifier "iStack_40") (= "=") (cast_expression "(int)unaff_retaddr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_retaddr"))) (; ";")) (} "}")))) (expression_statement "__timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);" (binary_expression "__timepunct<wchar_t>::_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" (binary_expression "__timepunct<wchar_t" (identifier "__timepunct") (< "<") (identifier "wchar_t")) (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "_M_put\n              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" (identifier "_M_put") (argument_list "((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" (( "(") (parenthesized_expression "(__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0)" (( "(") (comma_expression "__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0" (binary_expression "__timepunct<wchar_t> *)p_Var2" (binary_expression "__timepunct<wchar_t" (identifier "__timepunct") (< "<") (identifier "wchar_t")) (> ">") (pointer_expression "*)p_Var2" (* "*") (ERROR ")" () ")")) (identifier "p_Var2"))) (, ",") (comma_expression "awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0" (identifier "awStack_248") (, ",") (comma_expression "0x80,(wchar_t *)&uStack_48,unaff_s0" (number_literal "0x80") (, ",") (comma_expression "(wchar_t *)&uStack_48,unaff_s0" (cast_expression "(wchar_t *)&uStack_48" (( "(") (type_descriptor "wchar_t *" (type_identifier "wchar_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_48" (& "&") (identifier "uStack_48"))) (, ",") (identifier "unaff_s0"))))) () ")")) () "")))) (; ";")) (expression_statement "iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);" (assignment_expression "iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar9 + 0x126aa8))(awStack_248)" (parenthesized_expression "(**(code **)(puVar9 + 0x126aa8))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x126aa8)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x126aa8)" (* "*") (cast_expression "(code **)(puVar9 + 0x126aa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x126aa8)" (( "(") (binary_expression "puVar9 + 0x126aa8" (identifier "puVar9") (+ "+") (number_literal "0x126aa8")) () ")"))))) () ")")) (argument_list "(awStack_248)" (( "(") (identifier "awStack_248") () ")")))) (; ";")) (if_statement "if (_Var6 == (__timepunct)0x0) {\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }" (if "if") (parenthesized_expression "(_Var6 == (__timepunct)0x0)" (( "(") (binary_expression "_Var6 == (__timepunct)0x0" (identifier "_Var6") (== "==") (cast_expression "(__timepunct)0x0" (( "(") (type_descriptor "__timepunct" (type_identifier "__timepunct")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);\n      _Var6 = (__timepunct)(iVar4 != iVar5);\n    }" ({ "{") (expression_statement "iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);" (assignment_expression "iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4)" (parenthesized_expression "(**(code **)(*piVar8 + 0x30))" (( "(") (pointer_expression "**(code **)(*piVar8 + 0x30)" (* "*") (pointer_expression "*(code **)(*piVar8 + 0x30)" (* "*") (cast_expression "(code **)(*piVar8 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0x30)" (( "(") (binary_expression "*piVar8 + 0x30" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(piVar8,awStack_248,iVar4)" (( "(") (identifier "piVar8") (, ",") (identifier "awStack_248") (, ",") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "_Var6 = (__timepunct)(iVar4 != iVar5);" (assignment_expression "_Var6 = (__timepunct)(iVar4 != iVar5)" (identifier "_Var6") (= "=") (call_expression "(__timepunct)(iVar4 != iVar5)" (parenthesized_expression "(__timepunct)" (( "(") (identifier "__timepunct") () ")")) (argument_list "(iVar4 != iVar5)" (( "(") (binary_expression "iVar4 != iVar5" (identifier "iVar4") (!= "!=") (identifier "iVar5")) () ")")))) (; ";")) (} "}"))) (expression_statement "*(int **)p_Var7 = piVar8;" (assignment_expression "*(int **)p_Var7 = piVar8" (pointer_expression "*(int **)p_Var7" (* "*") (cast_expression "(int **)p_Var7" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "p_Var7"))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "p_Var7[4] = _Var6;" (assignment_expression "p_Var7[4] = _Var6" (subscript_expression "p_Var7[4]" (identifier "p_Var7") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "_Var6")) (; ";")) (return_statement "return p_Var7;" (return "return") (identifier "p_Var7") (; ";")) (} "}"))) (expression_statement "__throw_bad_cast();" (call_expression "__throw_bad_cast()" (identifier "__throw_bad_cast") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* 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::__timepunct<wchar_t> const& std::use_facet<std::__timepunct<wchar_t> >(std::locale const&)
    */

type_2 * var_6::var_5<var_6::type_2<type_6>>(type_8 *param_1)

{
  type_1 var_1;
  type_2 *var_4;
  type_3 *pcVar3;
  int var_11;
  int var_12;
  type_2 var_10;
  type_2 *var_2;
  int *piVar8;
  type_4 *unaff_s0;
  type_5 *var_9;
  char unaff_retaddr;
  char var_7;
  type_6 awStack_248 [256];
  type_7 uStack_48;
  int iStack_44;
  int iStack_40;
  type_7 uStack_3c;
  type_8 *plStack_34;
  
  var_1 = (*(type_9 *)PTR__M_id_004c2c74)(PTR_id_004c2f80);
  if ((var_1 < *(type_1 *)(*(int *)param_1 + 8)) &&
     (var_2 = *(type_2 **)(*(int *)(*(int *)param_1 + 4) + var_1 * 4),
     var_2 != (type_2 *)0x0)) {
    var_10 = (type_2)0x0;
    piVar8 = (int *)PTR_PTR_004c2f84;
    var_4 = (type_2 *)var_3(var_2,PTR_PTR_004c1364);
    if (var_4 != (type_2 *)0x0) {
      return var_4;
    }
    var_9 = PTR___cxa_bad_cast_004c2c80;
    (*(type_9 *)PTR___cxa_bad_cast_004c2c80)();
    plStack_34 = param_1;
    pcVar3 = var_5<var_6::type_3<type_6>>
                       ((type_8 *)
                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.
                         option.helparg);
    var_4 = var_5<var_6::type_2<type_6>>
                       ((type_8 *)
                        &gold::Position_dependent_options::default_options_.retain_symbols_file_.
                         option.helparg);
    uStack_48 = (**(type_9 **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);
    if (var_7 == 0) {
      iStack_40 = 0;
      iStack_44 = (int)unaff_retaddr;
    }
    else {
      uStack_3c = 0;
      iStack_44 = (int)var_7;
      iStack_40 = (int)unaff_retaddr;
    }
    type_2<type_6>::var_8
              ((type_2<type_6> *)var_4,awStack_248,0x80,(type_6 *)&uStack_48,unaff_s0);
    var_11 = (**(type_9 **)(var_9 + 0x126aa8))(awStack_248);
    if (var_10 == (type_2)0x0) {
      var_12 = (**(type_9 **)(*piVar8 + 0x30))(piVar8,awStack_248,var_11);
      var_10 = (type_2)(var_11 != var_12);
    }
    *(int **)var_2 = piVar8;
    var_2[4] = var_10;
    return var_2;
  }
                    /* WARNING: Subroutine does not return */
  var_13();
}


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

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* std::__timepunct<wchar_t> const& std::use_facet<std::__timepunct<wchar_t> >(std::locale const&)
    */

__timepunct * std::MASKED(locale *param_1)

{
  uint uVar1;
  __timepunct *p_Var2;
  ctype *pcVar3;
  int iVar4;
  int iVar5;
  __timepunct _Var6;
  __timepunct *p_Var7;
  int *piVar8;
  tm *unaff_s0;
  undefined *puVar9;
  char unaff_retaddr;
  char cStackX_3;
  wchar_t awStack_248 [256];
  undefined4 uStack_48;
  int iStack_44;
  int iStack_40;
  undefined4 uStack_3c;
  locale *plStack_34;
  
  uVar1 = (*(code *)PTR__M_id_004c2c74)(PTR_id_004c2f80);
  if ((uVar1 < *(uint *)(*(int *)param_1 + 8)) &&
     (p_Var7 = *(__timepunct **)(*(int *)(*(int *)param_1 + 4) + uVar1 * 4),
     p_Var7 != (__timepunct *)0x0)) {
    _Var6 = (__timepunct)0x0;
    piVar8 = (int *)PTR_PTR_004c2f84;
    p_Var2 = (__timepunct *)__dynamic_cast(p_Var7,PTR_PTR_004c1364);
    if (p_Var2 != (__timepunct *)0x0) {
      return p_Var2;
    }
    puVar9 = PTR___cxa_bad_cast_004c2c80;
    (*(code *)PTR___cxa_bad_cast_004c2c80)();
    plStack_34 = param_1;
    pcVar3 = use_facet<std::ctype<wchar_t>>
                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));
    p_Var2 = MASKED
                       ((locale *)(gold::Position_dependent_options::default_options_ + 0x327c));
    uStack_48 = (**(code **)(*(int *)pcVar3 + 0x28))(pcVar3,0x25);
    if (cStackX_3 == 0) {
      iStack_40 = 0;
      iStack_44 = (int)unaff_retaddr;
    }
    else {
      uStack_3c = 0;
      iStack_44 = (int)cStackX_3;
      iStack_40 = (int)unaff_retaddr;
    }
    __timepunct<wchar_t>::_M_put
              ((__timepunct<wchar_t> *)p_Var2,awStack_248,0x80,(wchar_t *)&uStack_48,unaff_s0);
    iVar4 = (**(code **)(puVar9 + 0x126aa8))(awStack_248);
    if (_Var6 == (__timepunct)0x0) {
      iVar5 = (**(code **)(*piVar8 + 0x30))(piVar8,awStack_248,iVar4);
      _Var6 = (__timepunct)(iVar4 != iVar5);
    }
    *(int **)p_Var7 = piVar8;
    p_Var7[4] = _Var6;
    return p_Var7;
  }
                    /* WARNING: Subroutine does not return */
  __throw_bad_cast();
}

