
/* std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> >
   >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char,
   std::char_traits<char> >, bool, std::ios_base&, std::_Ios_Iostate&, long double&) const */

undefined4 *
std::money_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::do_get
          (undefined4 *param_1)

{
  undefined1 *puVar1;
  code *pcVar2;
  undefined4 in_stack_00000010;
  undefined4 in_stack_00000014;
  char in_stack_0000001b;
  undefined4 in_stack_0000001c;
  undefined4 in_stack_00000020;
  undefined4 in_stack_00000024;
  undefined4 uVar3;
  undefined1 **ppuVar4;
  undefined1 *local_40;
  undefined4 local_3c;
  undefined1 local_38 [16];
  undefined4 local_28 [2];
  undefined4 local_20;
  undefined4 local_1c;
  
  local_3c = 0;
  local_38[0] = 0;
  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;
  if (in_stack_0000001b != '\0') {
    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;
  }
  ppuVar4 = &local_40;
  uVar3 = in_stack_00000020;
  local_40 = local_38;
                    /* try { // try from 003559cc to 003559f3 has its CatchHandler @ 00355a64 */
  (*pcVar2)(&local_20);
  puVar1 = local_40;
  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();
  (*(code *)PTR___convert_to_v<long_double>_00433944)
            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014
             ,in_stack_0000001c,uVar3,ppuVar4);
  *param_1 = local_20;
  param_1[1] = local_1c;
  if (local_40 != local_38) {
    (*(code *)PTR_operator_delete_0043228c)();
  }
  return param_1;
}



undefined4 * FUN_00355954(undefined4 *param_1)

{
  undefined1 *puVar1;
  code *pcVar2;
  undefined4 in_stack_00000010;
  undefined4 in_stack_00000014;
  char in_stack_0000001b;
  undefined4 in_stack_0000001c;
  undefined4 in_stack_00000020;
  undefined4 in_stack_00000024;
  undefined4 uVar3;
  undefined1 **ppuVar4;
  undefined1 *local_40;
  undefined4 local_3c;
  undefined1 local_38 [16];
  undefined4 local_28 [2];
  undefined4 local_20;
  undefined4 local_1c;
  
  local_3c = 0;
  local_38[0] = 0;
  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;
  if (in_stack_0000001b != '\0') {
    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;
  }
  ppuVar4 = &local_40;
  uVar3 = in_stack_00000020;
  local_40 = local_38;
                    /* try { // try from 003559cc to 003559f3 has its CatchHandler @ 00355a64 */
  (*pcVar2)(&local_20);
  puVar1 = local_40;
  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();
  (*(code *)PTR___convert_to_v<long_double>_00433944)
            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014
             ,in_stack_0000001c,uVar3,ppuVar4);
  *param_1 = local_20;
  param_1[1] = local_1c;
  if (local_40 != local_38) {
    (*(code *)PTR_operator_delete_0043228c)();
  }
  return param_1;
}


lui gp,0xe
addiu gp,gp,0x487c
addu gp,gp,t9
addiu sp,sp,-0x70
lbu v1,0x8b(sp)
lw v0,0x8c(sp)
sw s1,0x60(sp)
addiu s1,sp,0x38
sw gp,0x28(sp)
sw s2,0x64(sp)
sw s0,0x5c(sp)
or s0,a0,zero
sw ra,0x6c(sp)
addiu a0,sp,0x50
sw s3,0x68(sp)
sw a2,0x78(sp)
sw a3,0x7c(sp)
sw s1,0x30(sp)
sw zero,0x34(sp)
sb zero,0x38(sp)
beq v1,zero,0x00355a5c
_lw s2,0x90(sp)
lw t9,-0x62f0(gp)
sw v0,0x18(sp)
addiu v1,sp,0x30
lw v0,0x80(sp)
sw v1,0x20(sp)
sw s2,0x1c(sp)
sw v0,0x10(sp)
lw v0,0x84(sp)
jalr t9
_sw v0,0x14(sp)
lw v0,0x50(sp)
lw gp,0x28(sp)
lw s3,0x30(sp)
sw v0,0x78(sp)
lw v0,0x54(sp)
lw t9,-0x7e7c(gp)
jalr t9
_sw v0,0x7c(sp)
lw gp,0x28(sp)
addiu a3,sp,0x48
lw a1,0x94(sp)
or a0,s3,zero
sw v0,0x48(sp)
lw t9,-0x688c(gp)
jalr t9
_or a2,s2,zero
lw v0,0x78(sp)
lw gp,0x28(sp)
lw a0,0x30(sp)
sw v0,0x0(s0)
lw v0,0x7c(sp)
beq a0,s1,0x00355a3c
_sw v0,0x4(s0)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw ra,0x6c(sp)
or v0,s0,zero
lw s3,0x68(sp)
lw s2,0x64(sp)
lw s1,0x60(sp)
lw s0,0x5c(sp)
jr ra
_addiu sp,sp,0x70
b 0x003559b0
_lw t9,-0x62ec(gp)
(translation_unit "undefined4 * FUN_00355954(undefined4 *param_1)\n\n{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    /* try { // try from 003559cc to 003559f3 has its CatchHandler @ 00355a64 */\n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}\n\n" (function_definition "undefined4 * FUN_00355954(undefined4 *param_1)\n\n{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    /* try { // try from 003559cc to 003559f3 has its CatchHandler @ 00355a64 */\n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}" type_identifier (pointer_declarator "* FUN_00355954(undefined4 *param_1)" * (function_declarator "FUN_00355954(undefined4 *param_1)" identifier (parameter_list "(undefined4 *param_1)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) )))) (compound_statement "{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    /* try { // try from 003559cc to 003559f3 has its CatchHandler @ 00355a64 */\n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 in_stack_00000010;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000014;" type_identifier identifier ;) (declaration "char in_stack_0000001b;" primitive_type identifier ;) (declaration "undefined4 in_stack_0000001c;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000020;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000024;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined1 **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "undefined1 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined1 local_38 [16];" type_identifier (array_declarator "local_38 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_28 [2];" type_identifier (array_declarator "local_28 [2]" identifier [ number_literal ]) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 local_1c;" type_identifier identifier ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38[0] = 0;" (assignment_expression "local_38[0] = 0" (subscript_expression "local_38[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar2 = (code *)PTR__M_extract<false>_00433ee4;" (assignment_expression "pcVar2 = (code *)PTR__M_extract<false>_00433ee4" identifier = (binary_expression "(code *)PTR__M_extract<false>_00433ee4" (binary_expression "(code *)PTR__M_extract<false" (cast_expression "(code *)PTR__M_extract" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < false) > identifier)) ;) (if_statement "if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }" if (parenthesized_expression "(in_stack_0000001b != '\0')" ( (binary_expression "in_stack_0000001b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }" { (expression_statement "pcVar2 = (code *)PTR__M_extract<true>_00433ee0;" (assignment_expression "pcVar2 = (code *)PTR__M_extract<true>_00433ee0" identifier = (binary_expression "(code *)PTR__M_extract<true>_00433ee0" (binary_expression "(code *)PTR__M_extract<true" (cast_expression "(code *)PTR__M_extract" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < true) > identifier)) ;) })) (expression_statement "ppuVar4 = &local_40;" (assignment_expression "ppuVar4 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "uVar3 = in_stack_00000020;" (assignment_expression "uVar3 = in_stack_00000020" identifier = identifier) ;) (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" identifier = identifier) ;) comment (expression_statement "(*pcVar2)(&local_20);" (call_expression "(*pcVar2)(&local_20)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(&local_20)" ( (pointer_expression "&local_20" & identifier) ))) ;) (expression_statement "puVar1 = local_40;" (assignment_expression "puVar1 = local_40" identifier = identifier) ;) (expression_statement "local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();" (assignment_expression "local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)()" (subscript_expression "local_28[0]" identifier [ number_literal ]) = (call_expression "(*(code *)PTR__S_get_c_locale_00432354)()" (parenthesized_expression "(*(code *)PTR__S_get_c_locale_00432354)" ( (pointer_expression "*(code *)PTR__S_get_c_locale_00432354" * (cast_expression "(code *)PTR__S_get_c_locale_00432354" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);" (call_expression "(*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4)" (parenthesized_expression "(*(code *)PTR___convert_to_v<long_double>_00433944)" ( (binary_expression "*(code *)PTR___convert_to_v<long_double>_00433944" (binary_expression "*(code *)PTR___convert_to_v<long_double" (pointer_expression "*(code *)PTR___convert_to_v" * (cast_expression "(code *)PTR___convert_to_v" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) > identifier) )) (argument_list "(puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "*param_1 = local_20;" (assignment_expression "*param_1 = local_20" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = local_1c;" (assignment_expression "param_1[1] = local_1c" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }" if (parenthesized_expression "(local_40 != local_38)" ( (binary_expression "local_40 != local_38" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (return_statement "return param_1;" return identifier ;) })))
(translation_unit "/* std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> >\n   >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char,\n   std::char_traits<char> >, bool, std::ios_base&, std::_Ios_Iostate&, long double&) const */\n\nundefined4 *\nstd::money_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::do_get\n          (undefined4 *param_1)\n\n{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    /* try { // try from 003559cc to 003559f3 has its CatchHandler @ 00355a64 */\n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}\n\n" comment (ERROR "undefined4 *\nstd::money_get<char," (binary_expression "undefined4 *\nstd::money_get<char" (binary_expression "undefined4 *\nstd" identifier * identifier) (ERROR "::money_get" : : identifier) < identifier) ,) (labeled_statement "std::istreambuf_iterator<char,std::char_traits<char>>>::do_get\n          (undefined4 *param_1)" statement_identifier (ERROR "::istreambuf_iterator<char,std:" : : (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) :) : (expression_statement "char_traits<char>>>::do_get\n          (undefined4 *param_1)" (binary_expression "char_traits<char>>>::do_get\n          (undefined4 *param_1)" identifier < (binary_expression "char>>>::do_get\n          (undefined4 *param_1)" identifier >> (ERROR ">::" > : :) (call_expression "do_get\n          (undefined4 *param_1)" identifier (argument_list "(undefined4 *param_1)" ( (binary_expression "undefined4 *param_1" identifier * identifier) ))))) ;)) (compound_statement "{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    /* try { // try from 003559cc to 003559f3 has its CatchHandler @ 00355a64 */\n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 in_stack_00000010;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000014;" type_identifier identifier ;) (declaration "char in_stack_0000001b;" primitive_type identifier ;) (declaration "undefined4 in_stack_0000001c;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000020;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000024;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined1 **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "undefined1 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined1 local_38 [16];" type_identifier (array_declarator "local_38 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_28 [2];" type_identifier (array_declarator "local_28 [2]" identifier [ number_literal ]) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 local_1c;" type_identifier identifier ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38[0] = 0;" (assignment_expression "local_38[0] = 0" (subscript_expression "local_38[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar2 = (code *)PTR__M_extract<false>_00433ee4;" (assignment_expression "pcVar2 = (code *)PTR__M_extract<false>_00433ee4" identifier = (binary_expression "(code *)PTR__M_extract<false>_00433ee4" (binary_expression "(code *)PTR__M_extract<false" (cast_expression "(code *)PTR__M_extract" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < false) > identifier)) ;) (if_statement "if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }" if (parenthesized_expression "(in_stack_0000001b != '\0')" ( (binary_expression "in_stack_0000001b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }" { (expression_statement "pcVar2 = (code *)PTR__M_extract<true>_00433ee0;" (assignment_expression "pcVar2 = (code *)PTR__M_extract<true>_00433ee0" identifier = (binary_expression "(code *)PTR__M_extract<true>_00433ee0" (binary_expression "(code *)PTR__M_extract<true" (cast_expression "(code *)PTR__M_extract" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < true) > identifier)) ;) })) (expression_statement "ppuVar4 = &local_40;" (assignment_expression "ppuVar4 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "uVar3 = in_stack_00000020;" (assignment_expression "uVar3 = in_stack_00000020" identifier = identifier) ;) (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" identifier = identifier) ;) comment (expression_statement "(*pcVar2)(&local_20);" (call_expression "(*pcVar2)(&local_20)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(&local_20)" ( (pointer_expression "&local_20" & identifier) ))) ;) (expression_statement "puVar1 = local_40;" (assignment_expression "puVar1 = local_40" identifier = identifier) ;) (expression_statement "local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();" (assignment_expression "local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)()" (subscript_expression "local_28[0]" identifier [ number_literal ]) = (call_expression "(*(code *)PTR__S_get_c_locale_00432354)()" (parenthesized_expression "(*(code *)PTR__S_get_c_locale_00432354)" ( (pointer_expression "*(code *)PTR__S_get_c_locale_00432354" * (cast_expression "(code *)PTR__S_get_c_locale_00432354" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);" (call_expression "(*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4)" (parenthesized_expression "(*(code *)PTR___convert_to_v<long_double>_00433944)" ( (binary_expression "*(code *)PTR___convert_to_v<long_double>_00433944" (binary_expression "*(code *)PTR___convert_to_v<long_double" (pointer_expression "*(code *)PTR___convert_to_v" * (cast_expression "(code *)PTR___convert_to_v" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) > identifier) )) (argument_list "(puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "*param_1 = local_20;" (assignment_expression "*param_1 = local_20" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = local_1c;" (assignment_expression "param_1[1] = local_1c" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }" if (parenthesized_expression "(local_40 != local_38)" ( (binary_expression "local_40 != local_38" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (return_statement "return param_1;" return identifier ;) }))
(translation_unit "undefined4 * FUN_00355954(undefined4 *param_1)\n\n{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    \n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}\n\n" (function_definition "undefined4 * FUN_00355954(undefined4 *param_1)\n\n{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    \n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}" type_identifier (pointer_declarator "* FUN_00355954(undefined4 *param_1)" * (function_declarator "FUN_00355954(undefined4 *param_1)" identifier (parameter_list "(undefined4 *param_1)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) )))) (compound_statement "{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    \n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 in_stack_00000010;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000014;" type_identifier identifier ;) (declaration "char in_stack_0000001b;" primitive_type identifier ;) (declaration "undefined4 in_stack_0000001c;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000020;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000024;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined1 **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "undefined1 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined1 local_38 [16];" type_identifier (array_declarator "local_38 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_28 [2];" type_identifier (array_declarator "local_28 [2]" identifier [ number_literal ]) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 local_1c;" type_identifier identifier ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38[0] = 0;" (assignment_expression "local_38[0] = 0" (subscript_expression "local_38[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar2 = (code *)PTR__M_extract<false>_00433ee4;" (assignment_expression "pcVar2 = (code *)PTR__M_extract<false>_00433ee4" identifier = (binary_expression "(code *)PTR__M_extract<false>_00433ee4" (binary_expression "(code *)PTR__M_extract<false" (cast_expression "(code *)PTR__M_extract" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < false) > identifier)) ;) (if_statement "if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }" if (parenthesized_expression "(in_stack_0000001b != '\0')" ( (binary_expression "in_stack_0000001b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }" { (expression_statement "pcVar2 = (code *)PTR__M_extract<true>_00433ee0;" (assignment_expression "pcVar2 = (code *)PTR__M_extract<true>_00433ee0" identifier = (binary_expression "(code *)PTR__M_extract<true>_00433ee0" (binary_expression "(code *)PTR__M_extract<true" (cast_expression "(code *)PTR__M_extract" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < true) > identifier)) ;) })) (expression_statement "ppuVar4 = &local_40;" (assignment_expression "ppuVar4 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "uVar3 = in_stack_00000020;" (assignment_expression "uVar3 = in_stack_00000020" identifier = identifier) ;) (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" identifier = identifier) ;) (expression_statement "(*pcVar2)(&local_20);" (call_expression "(*pcVar2)(&local_20)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(&local_20)" ( (pointer_expression "&local_20" & identifier) ))) ;) (expression_statement "puVar1 = local_40;" (assignment_expression "puVar1 = local_40" identifier = identifier) ;) (expression_statement "local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();" (assignment_expression "local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)()" (subscript_expression "local_28[0]" identifier [ number_literal ]) = (call_expression "(*(code *)PTR__S_get_c_locale_00432354)()" (parenthesized_expression "(*(code *)PTR__S_get_c_locale_00432354)" ( (pointer_expression "*(code *)PTR__S_get_c_locale_00432354" * (cast_expression "(code *)PTR__S_get_c_locale_00432354" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);" (call_expression "(*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4)" (parenthesized_expression "(*(code *)PTR___convert_to_v<long_double>_00433944)" ( (binary_expression "*(code *)PTR___convert_to_v<long_double>_00433944" (binary_expression "*(code *)PTR___convert_to_v<long_double" (pointer_expression "*(code *)PTR___convert_to_v" * (cast_expression "(code *)PTR___convert_to_v" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) > identifier) )) (argument_list "(puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "*param_1 = local_20;" (assignment_expression "*param_1 = local_20" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = local_1c;" (assignment_expression "param_1[1] = local_1c" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }" if (parenthesized_expression "(local_40 != local_38)" ( (binary_expression "local_40 != local_38" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (return_statement "return param_1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < BOOL) > IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < BOOL) > IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (call_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) > IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined4 * FUN_00355954(undefined4 *param_1)\n\n{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    \n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}" (type_identifier "undefined4") (pointer_declarator "* FUN_00355954(undefined4 *param_1)" (* "*") (function_declarator "FUN_00355954(undefined4 *param_1)" (identifier "FUN_00355954") (parameter_list "(undefined4 *param_1)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")")))) (compound_statement "{\n  undefined1 *puVar1;\n  code *pcVar2;\n  undefined4 in_stack_00000010;\n  undefined4 in_stack_00000014;\n  char in_stack_0000001b;\n  undefined4 in_stack_0000001c;\n  undefined4 in_stack_00000020;\n  undefined4 in_stack_00000024;\n  undefined4 uVar3;\n  undefined1 **ppuVar4;\n  undefined1 *local_40;\n  undefined4 local_3c;\n  undefined1 local_38 [16];\n  undefined4 local_28 [2];\n  undefined4 local_20;\n  undefined4 local_1c;\n  \n  local_3c = 0;\n  local_38[0] = 0;\n  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;\n  if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }\n  ppuVar4 = &local_40;\n  uVar3 = in_stack_00000020;\n  local_40 = local_38;\n                    \n  (*pcVar2)(&local_20);\n  puVar1 = local_40;\n  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();\n  (*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);\n  *param_1 = local_20;\n  param_1[1] = local_1c;\n  if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }\n  return param_1;\n}" ({ "{") (declaration "undefined1 *puVar1;" (type_identifier "undefined1") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "code *pcVar2;" (type_identifier "code") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "undefined4 in_stack_00000010;" (type_identifier "undefined4") (identifier "in_stack_00000010") (; ";")) (declaration "undefined4 in_stack_00000014;" (type_identifier "undefined4") (identifier "in_stack_00000014") (; ";")) (declaration "char in_stack_0000001b;" (primitive_type "char") (identifier "in_stack_0000001b") (; ";")) (declaration "undefined4 in_stack_0000001c;" (type_identifier "undefined4") (identifier "in_stack_0000001c") (; ";")) (declaration "undefined4 in_stack_00000020;" (type_identifier "undefined4") (identifier "in_stack_00000020") (; ";")) (declaration "undefined4 in_stack_00000024;" (type_identifier "undefined4") (identifier "in_stack_00000024") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined1 **ppuVar4;" (type_identifier "undefined1") (pointer_declarator "**ppuVar4" (* "*") (pointer_declarator "*ppuVar4" (* "*") (identifier "ppuVar4"))) (; ";")) (declaration "undefined1 *local_40;" (type_identifier "undefined1") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined1 local_38 [16];" (type_identifier "undefined1") (array_declarator "local_38 [16]" (identifier "local_38") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_28 [2];" (type_identifier "undefined4") (array_declarator "local_28 [2]" (identifier "local_28") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 local_1c;" (type_identifier "undefined4") (identifier "local_1c") (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38[0] = 0;" (assignment_expression "local_38[0] = 0" (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar2 = (code *)PTR__M_extract<false>_00433ee4;" (assignment_expression "pcVar2 = (code *)PTR__M_extract<false>_00433ee4" (identifier "pcVar2") (= "=") (binary_expression "(code *)PTR__M_extract<false>_00433ee4" (binary_expression "(code *)PTR__M_extract<false" (cast_expression "(code *)PTR__M_extract" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_extract")) (< "<") (false "false")) (> ">") (identifier "_00433ee4"))) (; ";")) (if_statement "if (in_stack_0000001b != '\0') {\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }" (if "if") (parenthesized_expression "(in_stack_0000001b != '\0')" (( "(") (binary_expression "in_stack_0000001b != '\0'" (identifier "in_stack_0000001b") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;\n  }" ({ "{") (expression_statement "pcVar2 = (code *)PTR__M_extract<true>_00433ee0;" (assignment_expression "pcVar2 = (code *)PTR__M_extract<true>_00433ee0" (identifier "pcVar2") (= "=") (binary_expression "(code *)PTR__M_extract<true>_00433ee0" (binary_expression "(code *)PTR__M_extract<true" (cast_expression "(code *)PTR__M_extract" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_extract")) (< "<") (true "true")) (> ">") (identifier "_00433ee0"))) (; ";")) (} "}"))) (expression_statement "ppuVar4 = &local_40;" (assignment_expression "ppuVar4 = &local_40" (identifier "ppuVar4") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "uVar3 = in_stack_00000020;" (assignment_expression "uVar3 = in_stack_00000020" (identifier "uVar3") (= "=") (identifier "in_stack_00000020")) (; ";")) (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" (identifier "local_40") (= "=") (identifier "local_38")) (; ";")) (expression_statement "(*pcVar2)(&local_20);" (call_expression "(*pcVar2)(&local_20)" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "(&local_20)" (( "(") (pointer_expression "&local_20" (& "&") (identifier "local_20")) () ")"))) (; ";")) (expression_statement "puVar1 = local_40;" (assignment_expression "puVar1 = local_40" (identifier "puVar1") (= "=") (identifier "local_40")) (; ";")) (expression_statement "local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();" (assignment_expression "local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)()" (subscript_expression "local_28[0]" (identifier "local_28") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "(*(code *)PTR__S_get_c_locale_00432354)()" (parenthesized_expression "(*(code *)PTR__S_get_c_locale_00432354)" (( "(") (pointer_expression "*(code *)PTR__S_get_c_locale_00432354" (* "*") (cast_expression "(code *)PTR__S_get_c_locale_00432354" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__S_get_c_locale_00432354"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4);" (call_expression "(*(code *)PTR___convert_to_v<long_double>_00433944)\n            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4)" (parenthesized_expression "(*(code *)PTR___convert_to_v<long_double>_00433944)" (( "(") (binary_expression "*(code *)PTR___convert_to_v<long_double>_00433944" (binary_expression "*(code *)PTR___convert_to_v<long_double" (pointer_expression "*(code *)PTR___convert_to_v" (* "*") (cast_expression "(code *)PTR___convert_to_v" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___convert_to_v"))) (< "<") (identifier "long_double")) (> ">") (identifier "_00433944")) () ")")) (argument_list "(puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014\n             ,in_stack_0000001c,uVar3,ppuVar4)" (( "(") (identifier "puVar1") (, ",") (identifier "in_stack_00000024") (, ",") (identifier "in_stack_00000020") (, ",") (identifier "local_28") (, ",") (identifier "in_stack_00000010") (, ",") (identifier "in_stack_00000014") (, ",") (identifier "in_stack_0000001c") (, ",") (identifier "uVar3") (, ",") (identifier "ppuVar4") () ")"))) (; ";")) (expression_statement "*param_1 = local_20;" (assignment_expression "*param_1 = local_20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "local_20")) (; ";")) (expression_statement "param_1[1] = local_1c;" (assignment_expression "param_1[1] = local_1c" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_1c")) (; ";")) (if_statement "if (local_40 != local_38) {\n    (*(code *)PTR_operator_delete_0043228c)();\n  }" (if "if") (parenthesized_expression "(local_40 != local_38)" (( "(") (binary_expression "local_40 != local_38" (identifier "local_40") (!= "!=") (identifier "local_38")) () ")")) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)();\n  }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_0043228c" (* "*") (cast_expression "(code *)PTR_operator_delete_0043228c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_0043228c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}")))

/* std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> >
   >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char,
   std::char_traits<char> >, bool, std::ios_base&, std::_Ios_Iostate&, long double&) const */

var_4 *
std::money_get<var_2,std::istreambuf_iterator<var_2,std::var_1<var_2>>>::var_3
          (var_4 *var_5)

{
  type_1 *puVar1;
  type_2 *pcVar2;
  var_4 in_stack_00000010;
  var_4 in_stack_00000014;
  char var_7;
  var_4 in_stack_0000001c;
  var_4 in_stack_00000020;
  var_4 in_stack_00000024;
  var_4 uVar3;
  type_1 **ppuVar4;
  type_1 *var_11;
  var_4 local_3c;
  type_1 var_12 [16];
  var_4 local_28 [2];
  var_4 local_20;
  var_4 local_1c;
  
  local_3c = 0;
  var_12[0] = 0;
  pcVar2 = (type_2 *)PTR__M_extract<false>var_6;
  if (var_7 != '\0') {
    pcVar2 = (type_2 *)PTR__M_extract<true>var_8;
  }
  ppuVar4 = &var_11;
  uVar3 = in_stack_00000020;
  var_11 = var_12;
                    /* try { // try from 003559cc to 003559f3 has its CatchHandler @ 00355a64 */
  (*pcVar2)(&local_20);
  puVar1 = var_11;
  local_28[0] = (*(type_2 *)PTR__S_get_c_locale_00432354)();
  (*(type_2 *)PTR___convert_to_v<var_9>var_10)
            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014
             ,in_stack_0000001c,uVar3,ppuVar4);
  *var_5 = local_20;
  var_5[1] = local_1c;
  if (var_11 != var_12) {
    (*(type_2 *)PTR_operator_delete_0043228c)();
  }
  return var_5;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (false)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (true)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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)))) (expression_statement (call_expression function: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)) right: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (return_statement (identifier)))))

undefined4 * MASKED(undefined4 *param_1)

{
  undefined1 *puVar1;
  code *pcVar2;
  undefined4 in_stack_00000010;
  undefined4 in_stack_00000014;
  char in_stack_0000001b;
  undefined4 in_stack_0000001c;
  undefined4 in_stack_00000020;
  undefined4 in_stack_00000024;
  undefined4 uVar3;
  undefined1 **ppuVar4;
  undefined1 *local_40;
  undefined4 local_3c;
  undefined1 local_38 [16];
  undefined4 local_28 [2];
  undefined4 local_20;
  undefined4 local_1c;
  
  local_3c = 0;
  local_38[0] = 0;
  pcVar2 = (code *)PTR__M_extract<false>_00433ee4;
  if (in_stack_0000001b != '\0') {
    pcVar2 = (code *)PTR__M_extract<true>_00433ee0;
  }
  ppuVar4 = &local_40;
  uVar3 = in_stack_00000020;
  local_40 = local_38;
                    /* try { // try from 003559cc to 003559f3 has its CatchHandler @ 00355a64 */
  (*pcVar2)(&local_20);
  puVar1 = local_40;
  local_28[0] = (*(code *)PTR__S_get_c_locale_00432354)();
  (*(code *)PTR___convert_to_v<long_double>_00433944)
            (puVar1,in_stack_00000024,in_stack_00000020,local_28,in_stack_00000010,in_stack_00000014
             ,in_stack_0000001c,uVar3,ppuVar4);
  *param_1 = local_20;
  param_1[1] = local_1c;
  if (local_40 != local_38) {
    (*(code *)PTR_operator_delete_0043228c)();
  }
  return param_1;
}

