
/* std::num_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> >, std::ios_base&, std::_Ios_Iostate&, float&) const */

undefined1  [16]
std::num_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::do_get
          (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
          undefined8 param_5,undefined8 param_6,_Ios_Iostate *param_7,float *param_8)

{
  undefined8 uVar1;
  undefined8 uVar2;
  char cVar3;
  undefined1 auVar4 [16];
  undefined1 auVar5 [12];
  undefined8 local_58;
  undefined8 local_50;
  undefined8 local_48;
  undefined8 local_40;
  char *local_38;
  __locale_struct *local_30;
  
  local_38 = &DAT_0044a558;
  local_58 = param_4;
  local_50 = param_5;
  local_48 = param_2;
  local_40 = param_3;
                    /* try { // try from 002f38e4 to 002f3947 has its CatchHandler @ 002f3992 */
  std::string::reserve((string *)&local_38,0x20);
  auVar5 = _M_extract_float(param_1,local_48,local_40,local_58,local_50,param_6,param_7,
                            (string *)&local_38);
  local_48 = auVar5._0_8_;
  local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);
  local_30 = (__locale_struct *)locale::facet::_S_get_c_locale();
  __convert_to_v<float>(local_38,param_8,param_7,&local_30);
  cVar3 = istreambuf_iterator<char,std::char_traits<char>>::equal
                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_48,
                     (istreambuf_iterator *)&local_58);
  uVar2 = local_40;
  uVar1 = local_48;
  if (cVar3 != '\0') {
    *param_7 = *param_7 | _S_eofbit;
  }
  if ((allocator *)(local_38 + -0x18) != (allocator *)PTR__S_empty_rep_storage_0043dc38) {
    std::string::_Rep::_M_dispose((allocator *)(local_38 + -0x18));
  }
  auVar4._8_8_ = uVar2;
  auVar4._0_8_ = uVar1;
  return auVar4;
}



undefined1  [16]
FUN_002f38a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
            undefined8 param_5,undefined8 param_6,uint *param_7,undefined8 param_8)

{
  undefined8 uVar1;
  undefined8 uVar2;
  char cVar3;
  undefined1 auVar4 [16];
  undefined1 auVar5 [12];
  undefined8 local_58;
  undefined8 local_50;
  undefined8 local_48;
  undefined8 local_40;
  undefined1 *local_38;
  undefined8 local_30;
  
  local_38 = &DAT_0044a558;
  local_58 = param_4;
  local_50 = param_5;
  local_48 = param_2;
  local_40 = param_3;
                    /* try { // try from 002f38e4 to 002f3947 has its CatchHandler @ 002f3992 */
  FUN_0030e7a0(&local_38,0x20);
  auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6);
  local_48 = auVar5._0_8_;
  local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);
  local_30 = FUN_002dcf70();
  FUN_0031b930(local_38,param_8,param_7,&local_30);
  cVar3 = FUN_002f12b0(&local_48,&local_58);
  uVar2 = local_40;
  uVar1 = local_48;
  if (cVar3 != '\0') {
    *param_7 = *param_7 | 2;
  }
  if (local_38 + -0x18 != PTR_DAT_0043dc38) {
    FUN_002ea270(local_38 + -0x18,&local_30);
  }
  auVar4._8_8_ = uVar2;
  auVar4._0_8_ = uVar1;
  return auVar4;
}


PUSH RBP
MOV RBP,RSP
PUSH R14
MOV R14,R9
PUSH R13
MOV R13,RDI
PUSH R12
LEA R12,[RBP + -0x30]
PUSH RBX
MOV RDI,R12
SUB RSP,0x50
LEA RAX,[0x44a540]
MOV qword ptr [RBP + -0x40],RSI
MOV ESI,0x20
MOV qword ptr [RBP + -0x38],RDX
MOV RBX,qword ptr [RBP + 0x10]
ADD RAX,0x18
MOV qword ptr [RBP + -0x50],RCX
MOV qword ptr [RBP + -0x48],R8
MOV qword ptr [RBP + -0x30],RAX
CALL 0x0030e7a0
PUSH R12
MOV RCX,qword ptr [RBP + -0x50]
MOV R9,R14
MOV RDI,R13
MOV R8,qword ptr [RBP + -0x48]
MOV RSI,qword ptr [RBP + -0x40]
PUSH RBX
MOV RDX,qword ptr [RBP + -0x38]
CALL 0x002f2e70
MOV qword ptr [RBP + -0x60],RAX
POP RCX
MOV qword ptr [RBP + -0x58],RDX
POP RSI
MOV qword ptr [RBP + -0x40],RAX
MOV EAX,dword ptr [RBP + -0x58]
MOV dword ptr [RBP + -0x38],EAX
CALL 0x002dcf70
MOV RSI,qword ptr [RBP + 0x18]
MOV RDI,qword ptr [RBP + -0x30]
LEA R12,[RBP + -0x28]
MOV RDX,RBX
MOV RCX,R12
MOV qword ptr [RBP + -0x28],RAX
CALL 0x0031b930
LEA RSI,[RBP + -0x50]
LEA RDI,[RBP + -0x40]
CALL 0x002f12b0
TEST AL,AL
JZ 0x002f394f
OR dword ptr [RBX],0x2
MOV RBX,qword ptr [RBP + -0x30]
MOV RAX,qword ptr [RBP + -0x40]
MOV RDX,qword ptr [RBP + -0x38]
LEA RDI,[RBX + -0x18]
CMP RDI,qword ptr [0x0043dc38]
JNZ 0x002f3978
LEA RSP,[RBP + -0x20]
POP RBX
POP R12
POP R13
POP R14
POP RBP
RET
MOV RSI,R12
MOV qword ptr [RBP + -0x70],RAX
MOV qword ptr [RBP + -0x68],RDX
CALL 0x002ea270
MOV RAX,qword ptr [RBP + -0x70]
MOV RDX,qword ptr [RBP + -0x68]
JMP 0x002f3968
(translation_unit "undefined1  [16]\nFUN_002f38a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,uint *param_7,undefined8 param_8)\n\n{\n  undefined8 uVar1;\n  undefined8 uVar2;\n  char cVar3;\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [12];\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  undefined8 local_40;\n  undefined1 *local_38;\n  undefined8 local_30;\n  \n  local_38 = &DAT_0044a558;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = param_2;\n  local_40 = param_3;\n                    /* try { // try from 002f38e4 to 002f3947 has its CatchHandler @ 002f3992 */\n  FUN_0030e7a0(&local_38,0x20);\n  auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6);\n  local_48 = auVar5._0_8_;\n  local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);\n  local_30 = FUN_002dcf70();\n  FUN_0031b930(local_38,param_8,param_7,&local_30);\n  cVar3 = FUN_002f12b0(&local_48,&local_58);\n  uVar2 = local_40;\n  uVar1 = local_48;\n  if (cVar3 != '\0') {\n    *param_7 = *param_7 | 2;\n  }\n  if (local_38 + -0x18 != PTR_DAT_0043dc38) {\n    FUN_002ea270(local_38 + -0x18,&local_30);\n  }\n  auVar4._8_8_ = uVar2;\n  auVar4._0_8_ = uVar1;\n  return auVar4;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (declaration "FUN_002f38a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,uint *param_7,undefined8 param_8)\n\n{\n  undefined8 uVar1;" (macro_type_specifier "FUN_002f38a0(undefined8" identifier ( (type_descriptor "undefined8" type_identifier) )) identifier , identifier (ERROR "param_2" identifier) , identifier (ERROR "param_3" identifier) , identifier (ERROR "param_4" identifier) , identifier (ERROR "param_5" identifier) , identifier (ERROR "param_6" identifier) , (ERROR "uint" identifier) (pointer_declarator "*param_7" * identifier) , (ERROR "undefined8 param_8)\n\n{\n  undefined8" identifier identifier ) { identifier) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined1 auVar4 [16];" type_identifier (array_declarator "auVar4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar5 [12];" type_identifier (array_declarator "auVar5 [12]" identifier [ number_literal ]) ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 local_40;" type_identifier identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined8 local_30;" type_identifier identifier ;) (expression_statement "local_38 = &DAT_0044a558;" (assignment_expression "local_38 = &DAT_0044a558" identifier = (pointer_expression "&DAT_0044a558" & identifier)) ;) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "local_50 = param_5;" (assignment_expression "local_50 = param_5" identifier = identifier) ;) (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" identifier = identifier) ;) (expression_statement "local_40 = param_3;" (assignment_expression "local_40 = param_3" identifier = identifier) ;) comment (expression_statement "FUN_0030e7a0(&local_38,0x20);" (call_expression "FUN_0030e7a0(&local_38,0x20)" identifier (argument_list "(&local_38,0x20)" ( (pointer_expression "&local_38" & identifier) , number_literal ))) ;) (expression_statement "auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6);" (assignment_expression "auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6)" identifier = (call_expression "FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6)" identifier (argument_list "(param_1,local_48,local_40,local_58,local_50,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "local_48 = auVar5._0_8_;" (assignment_expression "local_48 = auVar5._0_8_" identifier = (field_expression "auVar5._0_8_" identifier . field_identifier)) ;) (expression_statement "local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);" (assignment_expression "local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_)" identifier = (call_expression "CONCAT44(local_40._4_4_,auVar5._8_4_)" identifier (argument_list "(local_40._4_4_,auVar5._8_4_)" ( (field_expression "local_40._4_4_" identifier . field_identifier) , (field_expression "auVar5._8_4_" identifier . field_identifier) )))) ;) (expression_statement "local_30 = FUN_002dcf70();" (assignment_expression "local_30 = FUN_002dcf70()" identifier = (call_expression "FUN_002dcf70()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0031b930(local_38,param_8,param_7,&local_30);" (call_expression "FUN_0031b930(local_38,param_8,param_7,&local_30)" identifier (argument_list "(local_38,param_8,param_7,&local_30)" ( identifier , identifier , identifier , (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "cVar3 = FUN_002f12b0(&local_48,&local_58);" (assignment_expression "cVar3 = FUN_002f12b0(&local_48,&local_58)" identifier = (call_expression "FUN_002f12b0(&local_48,&local_58)" identifier (argument_list "(&local_48,&local_58)" ( (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_58" & identifier) )))) ;) (expression_statement "uVar2 = local_40;" (assignment_expression "uVar2 = local_40" identifier = identifier) ;) (expression_statement "uVar1 = local_48;" (assignment_expression "uVar1 = local_48" identifier = identifier) ;) (if_statement "if (cVar3 != '\0') {\n    *param_7 = *param_7 | 2;\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *param_7 = *param_7 | 2;\n  }" { (expression_statement "*param_7 = *param_7 | 2;" (assignment_expression "*param_7 = *param_7 | 2" (pointer_expression "*param_7" * identifier) = (binary_expression "*param_7 | 2" (pointer_expression "*param_7" * identifier) | number_literal)) ;) })) (if_statement "if (local_38 + -0x18 != PTR_DAT_0043dc38) {\n    FUN_002ea270(local_38 + -0x18,&local_30);\n  }" if (parenthesized_expression "(local_38 + -0x18 != PTR_DAT_0043dc38)" ( (binary_expression "local_38 + -0x18 != PTR_DAT_0043dc38" (binary_expression "local_38 + -0x18" identifier + number_literal) != identifier) )) (compound_statement "{\n    FUN_002ea270(local_38 + -0x18,&local_30);\n  }" { (expression_statement "FUN_002ea270(local_38 + -0x18,&local_30);" (call_expression "FUN_002ea270(local_38 + -0x18,&local_30)" identifier (argument_list "(local_38 + -0x18,&local_30)" ( (binary_expression "local_38 + -0x18" identifier + number_literal) , (pointer_expression "&local_30" & identifier) ))) ;) })) (expression_statement "auVar4._8_8_ = uVar2;" (assignment_expression "auVar4._8_8_ = uVar2" (field_expression "auVar4._8_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar4._0_8_ = uVar1;" (assignment_expression "auVar4._0_8_ = uVar1" (field_expression "auVar4._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar4;" return identifier ;) (ERROR "}" }))
(translation_unit "/* std::num_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> >, std::ios_base&, std::_Ios_Iostate&, float&) const */\n\nundefined1  [16]\nstd::num_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::do_get\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n          undefined8 param_5,undefined8 param_6,_Ios_Iostate *param_7,float *param_8)\n\n{\n  undefined8 uVar1;\n  undefined8 uVar2;\n  char cVar3;\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [12];\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  undefined8 local_40;\n  char *local_38;\n  __locale_struct *local_30;\n  \n  local_38 = &DAT_0044a558;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = param_2;\n  local_40 = param_3;\n                    /* try { // try from 002f38e4 to 002f3947 has its CatchHandler @ 002f3992 */\n  std::string::reserve((string *)&local_38,0x20);\n  auVar5 = _M_extract_float(param_1,local_48,local_40,local_58,local_50,param_6,param_7,\n                            (string *)&local_38);\n  local_48 = auVar5._0_8_;\n  local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);\n  local_30 = (__locale_struct *)locale::facet::_S_get_c_locale();\n  __convert_to_v<float>(local_38,param_8,param_7,&local_30);\n  cVar3 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_48,\n                     (istreambuf_iterator *)&local_58);\n  uVar2 = local_40;\n  uVar1 = local_48;\n  if (cVar3 != '\0') {\n    *param_7 = *param_7 | _S_eofbit;\n  }\n  if ((allocator *)(local_38 + -0x18) != (allocator *)PTR__S_empty_rep_storage_0043dc38) {\n    std::string::_Rep::_M_dispose((allocator *)(local_38 + -0x18));\n  }\n  auVar4._8_8_ = uVar2;\n  auVar4._0_8_ = uVar1;\n  return auVar4;\n}\n\n" comment (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (labeled_statement "std::num_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::do_get\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n          undefined8 param_5,undefined8 param_6,_Ios_Iostate *param_7,float *param_8)" statement_identifier (ERROR "::num_get<char,std::istreambuf_iterator<char,std:" : : (comma_expression "num_get<char,std" (binary_expression "num_get<char" identifier < identifier) , identifier) : : (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) :) : (expression_statement "char_traits<char>>>::do_get\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n          undefined8 param_5,undefined8 param_6,_Ios_Iostate *param_7,float *param_8)" (binary_expression "char_traits<char>>>::do_get\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n          undefined8 param_5,undefined8 param_6,_Ios_Iostate *param_7,float *param_8)" identifier < (binary_expression "char>>>::do_get\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n          undefined8 param_5,undefined8 param_6,_Ios_Iostate *param_7,float *param_8)" identifier >> (ERROR ">::" > : :) (call_expression "do_get\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n          undefined8 param_5,undefined8 param_6,_Ios_Iostate *param_7,float *param_8)" identifier (argument_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n          undefined8 param_5,undefined8 param_6,_Ios_Iostate *param_7,float *param_8)" ( identifier (ERROR "param_1" identifier) , identifier (ERROR "param_2" identifier) , identifier (ERROR "param_3" identifier) , identifier (ERROR "param_4" identifier) , identifier (ERROR "param_5" identifier) , identifier (ERROR "param_6" identifier) , (binary_expression "_Ios_Iostate *param_7" identifier * identifier) , (binary_expression "float *param_8" identifier * identifier) ))))) ;)) (compound_statement "{\n  undefined8 uVar1;\n  undefined8 uVar2;\n  char cVar3;\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [12];\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  undefined8 local_40;\n  char *local_38;\n  __locale_struct *local_30;\n  \n  local_38 = &DAT_0044a558;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = param_2;\n  local_40 = param_3;\n                    /* try { // try from 002f38e4 to 002f3947 has its CatchHandler @ 002f3992 */\n  std::string::reserve((string *)&local_38,0x20);\n  auVar5 = _M_extract_float(param_1,local_48,local_40,local_58,local_50,param_6,param_7,\n                            (string *)&local_38);\n  local_48 = auVar5._0_8_;\n  local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);\n  local_30 = (__locale_struct *)locale::facet::_S_get_c_locale();\n  __convert_to_v<float>(local_38,param_8,param_7,&local_30);\n  cVar3 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_48,\n                     (istreambuf_iterator *)&local_58);\n  uVar2 = local_40;\n  uVar1 = local_48;\n  if (cVar3 != '\0') {\n    *param_7 = *param_7 | _S_eofbit;\n  }\n  if ((allocator *)(local_38 + -0x18) != (allocator *)PTR__S_empty_rep_storage_0043dc38) {\n    std::string::_Rep::_M_dispose((allocator *)(local_38 + -0x18));\n  }\n  auVar4._8_8_ = uVar2;\n  auVar4._0_8_ = uVar1;\n  return auVar4;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined1 auVar4 [16];" type_identifier (array_declarator "auVar4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar5 [12];" type_identifier (array_declarator "auVar5 [12]" identifier [ number_literal ]) ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 local_40;" type_identifier identifier ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "__locale_struct *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "local_38 = &DAT_0044a558;" (assignment_expression "local_38 = &DAT_0044a558" identifier = (pointer_expression "&DAT_0044a558" & identifier)) ;) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "local_50 = param_5;" (assignment_expression "local_50 = param_5" identifier = identifier) ;) (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" identifier = identifier) ;) (expression_statement "local_40 = param_3;" (assignment_expression "local_40 = param_3" identifier = identifier) ;) comment (labeled_statement "std::string::reserve((string *)&local_38,0x20);" statement_identifier : (ERROR ":" :) (labeled_statement "string::reserve((string *)&local_38,0x20);" statement_identifier : (ERROR ":" :) (expression_statement "reserve((string *)&local_38,0x20);" (call_expression "reserve((string *)&local_38,0x20)" identifier (argument_list "((string *)&local_38,0x20)" ( (cast_expression "(string *)&local_38" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_38" & identifier)) , number_literal ))) ;))) (expression_statement "auVar5 = _M_extract_float(param_1,local_48,local_40,local_58,local_50,param_6,param_7,\n                            (string *)&local_38);" (assignment_expression "auVar5 = _M_extract_float(param_1,local_48,local_40,local_58,local_50,param_6,param_7,\n                            (string *)&local_38)" identifier = (call_expression "_M_extract_float(param_1,local_48,local_40,local_58,local_50,param_6,param_7,\n                            (string *)&local_38)" identifier (argument_list "(param_1,local_48,local_40,local_58,local_50,param_6,param_7,\n                            (string *)&local_38)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , (cast_expression "(string *)&local_38" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_38" & identifier)) )))) ;) (expression_statement "local_48 = auVar5._0_8_;" (assignment_expression "local_48 = auVar5._0_8_" identifier = (field_expression "auVar5._0_8_" identifier . field_identifier)) ;) (expression_statement "local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);" (assignment_expression "local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_)" identifier = (call_expression "CONCAT44(local_40._4_4_,auVar5._8_4_)" identifier (argument_list "(local_40._4_4_,auVar5._8_4_)" ( (field_expression "local_40._4_4_" identifier . field_identifier) , (field_expression "auVar5._8_4_" identifier . field_identifier) )))) ;) (ERROR "local_30 = (__locale_struct *)locale::" (assignment_expression "local_30 = (__locale_struct *)locale" identifier = (cast_expression "(__locale_struct *)locale" ( (type_descriptor "__locale_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "facet::_S_get_c_locale();" statement_identifier : (ERROR ":" :) (expression_statement "_S_get_c_locale();" (call_expression "_S_get_c_locale()" identifier (argument_list "()" ( ))) ;)) (expression_statement "__convert_to_v<float>(local_38,param_8,param_7,&local_30);" (binary_expression "__convert_to_v<float>(local_38,param_8,param_7,&local_30)" (binary_expression "__convert_to_v<float" identifier < identifier) > (parenthesized_expression "(local_38,param_8,param_7,&local_30)" ( (comma_expression "local_38,param_8,param_7,&local_30" identifier , (comma_expression "param_8,param_7,&local_30" identifier , (comma_expression "param_7,&local_30" identifier , (pointer_expression "&local_30" & identifier)))) ))) ;) (ERROR "cVar3 = istreambuf_iterator<char,std::" (comma_expression "cVar3 = istreambuf_iterator<char,std" (assignment_expression "cVar3 = istreambuf_iterator<char" identifier = (binary_expression "istreambuf_iterator<char" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_48,\n                     (istreambuf_iterator *)&local_58);" (binary_expression "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_48,\n                     (istreambuf_iterator *)&local_58)" identifier < (binary_expression "char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_48,\n                     (istreambuf_iterator *)&local_58)" identifier >> (ERROR "::" : :) (call_expression "equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_48,\n                     (istreambuf_iterator *)&local_58)" identifier (argument_list "((istreambuf_iterator<char,std::char_traits<char>> *)&local_48,\n                     (istreambuf_iterator *)&local_58)" ( (binary_expression "(istreambuf_iterator<char,std::char_traits<char>> *)&local_48" (parenthesized_expression "(istreambuf_iterator<char,std::char_traits<char>> *)" ( (ERROR "istreambuf_iterator<char,std::" (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) : :) (binary_expression "char_traits<char>> *" identifier < (binary_expression "char>> *" identifier >> (pointer_expression "*" * identifier))) )) & identifier) , (cast_expression "(istreambuf_iterator *)&local_58" ( (type_descriptor "istreambuf_iterator *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)) ))))) ;) (expression_statement "uVar2 = local_40;" (assignment_expression "uVar2 = local_40" identifier = identifier) ;) (expression_statement "uVar1 = local_48;" (assignment_expression "uVar1 = local_48" identifier = identifier) ;) (if_statement "if (cVar3 != '\0') {\n    *param_7 = *param_7 | _S_eofbit;\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *param_7 = *param_7 | _S_eofbit;\n  }" { (expression_statement "*param_7 = *param_7 | _S_eofbit;" (assignment_expression "*param_7 = *param_7 | _S_eofbit" (pointer_expression "*param_7" * identifier) = (binary_expression "*param_7 | _S_eofbit" (pointer_expression "*param_7" * identifier) | identifier)) ;) })) (if_statement "if ((allocator *)(local_38 + -0x18) != (allocator *)PTR__S_empty_rep_storage_0043dc38) {\n    std::string::_Rep::_M_dispose((allocator *)(local_38 + -0x18));\n  }" if (parenthesized_expression "((allocator *)(local_38 + -0x18) != (allocator *)PTR__S_empty_rep_storage_0043dc38)" ( (binary_expression "(allocator *)(local_38 + -0x18) != (allocator *)PTR__S_empty_rep_storage_0043dc38" (cast_expression "(allocator *)(local_38 + -0x18)" ( (type_descriptor "allocator *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + -0x18)" ( (binary_expression "local_38 + -0x18" identifier + number_literal) ))) != (cast_expression "(allocator *)PTR__S_empty_rep_storage_0043dc38" ( (type_descriptor "allocator *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n    std::string::_Rep::_M_dispose((allocator *)(local_38 + -0x18));\n  }" { (labeled_statement "std::string::_Rep::_M_dispose((allocator *)(local_38 + -0x18));" statement_identifier : (ERROR ":" :) (labeled_statement "string::_Rep::_M_dispose((allocator *)(local_38 + -0x18));" statement_identifier : (ERROR ":" :) (labeled_statement "_Rep::_M_dispose((allocator *)(local_38 + -0x18));" statement_identifier : (ERROR ":" :) (expression_statement "_M_dispose((allocator *)(local_38 + -0x18));" (call_expression "_M_dispose((allocator *)(local_38 + -0x18))" identifier (argument_list "((allocator *)(local_38 + -0x18))" ( (cast_expression "(allocator *)(local_38 + -0x18)" ( (type_descriptor "allocator *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + -0x18)" ( (binary_expression "local_38 + -0x18" identifier + number_literal) ))) ))) ;)))) })) (expression_statement "auVar4._8_8_ = uVar2;" (assignment_expression "auVar4._8_8_ = uVar2" (field_expression "auVar4._8_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar4._0_8_ = uVar1;" (assignment_expression "auVar4._0_8_ = uVar1" (field_expression "auVar4._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar4;" return identifier ;) }))
(translation_unit "undefined1  [16]\nFUN_002f38a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,uint *param_7,undefined8 param_8)\n\n{\n  undefined8 uVar1;\n  undefined8 uVar2;\n  char cVar3;\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [12];\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  undefined8 local_40;\n  undefined1 *local_38;\n  undefined8 local_30;\n  \n  local_38 = &DAT_0044a558;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = param_2;\n  local_40 = param_3;\n                    \n  FUN_0030e7a0(&local_38,0x20);\n  auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6);\n  local_48 = auVar5._0_8_;\n  local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);\n  local_30 = FUN_002dcf70();\n  FUN_0031b930(local_38,param_8,param_7,&local_30);\n  cVar3 = FUN_002f12b0(&local_48,&local_58);\n  uVar2 = local_40;\n  uVar1 = local_48;\n  if (cVar3 != '\0') {\n    *param_7 = *param_7 | 2;\n  }\n  if (local_38 + -0x18 != PTR_DAT_0043dc38) {\n    FUN_002ea270(local_38 + -0x18,&local_30);\n  }\n  auVar4._8_8_ = uVar2;\n  auVar4._0_8_ = uVar1;\n  return auVar4;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (declaration "FUN_002f38a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,uint *param_7,undefined8 param_8)\n\n{\n  undefined8 uVar1;" (macro_type_specifier "FUN_002f38a0(undefined8" identifier ( (type_descriptor "undefined8" type_identifier) )) identifier , identifier (ERROR "param_2" identifier) , identifier (ERROR "param_3" identifier) , identifier (ERROR "param_4" identifier) , identifier (ERROR "param_5" identifier) , identifier (ERROR "param_6" identifier) , (ERROR "uint" identifier) (pointer_declarator "*param_7" * identifier) , (ERROR "undefined8 param_8)\n\n{\n  undefined8" identifier identifier ) { identifier) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined1 auVar4 [16];" type_identifier (array_declarator "auVar4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar5 [12];" type_identifier (array_declarator "auVar5 [12]" identifier [ number_literal ]) ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 local_40;" type_identifier identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined8 local_30;" type_identifier identifier ;) (expression_statement "local_38 = &DAT_0044a558;" (assignment_expression "local_38 = &DAT_0044a558" identifier = (pointer_expression "&DAT_0044a558" & identifier)) ;) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "local_50 = param_5;" (assignment_expression "local_50 = param_5" identifier = identifier) ;) (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" identifier = identifier) ;) (expression_statement "local_40 = param_3;" (assignment_expression "local_40 = param_3" identifier = identifier) ;) (expression_statement "FUN_0030e7a0(&local_38,0x20);" (call_expression "FUN_0030e7a0(&local_38,0x20)" identifier (argument_list "(&local_38,0x20)" ( (pointer_expression "&local_38" & identifier) , number_literal ))) ;) (expression_statement "auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6);" (assignment_expression "auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6)" identifier = (call_expression "FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6)" identifier (argument_list "(param_1,local_48,local_40,local_58,local_50,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "local_48 = auVar5._0_8_;" (assignment_expression "local_48 = auVar5._0_8_" identifier = (field_expression "auVar5._0_8_" identifier . field_identifier)) ;) (expression_statement "local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);" (assignment_expression "local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_)" identifier = (call_expression "CONCAT44(local_40._4_4_,auVar5._8_4_)" identifier (argument_list "(local_40._4_4_,auVar5._8_4_)" ( (field_expression "local_40._4_4_" identifier . field_identifier) , (field_expression "auVar5._8_4_" identifier . field_identifier) )))) ;) (expression_statement "local_30 = FUN_002dcf70();" (assignment_expression "local_30 = FUN_002dcf70()" identifier = (call_expression "FUN_002dcf70()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0031b930(local_38,param_8,param_7,&local_30);" (call_expression "FUN_0031b930(local_38,param_8,param_7,&local_30)" identifier (argument_list "(local_38,param_8,param_7,&local_30)" ( identifier , identifier , identifier , (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "cVar3 = FUN_002f12b0(&local_48,&local_58);" (assignment_expression "cVar3 = FUN_002f12b0(&local_48,&local_58)" identifier = (call_expression "FUN_002f12b0(&local_48,&local_58)" identifier (argument_list "(&local_48,&local_58)" ( (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_58" & identifier) )))) ;) (expression_statement "uVar2 = local_40;" (assignment_expression "uVar2 = local_40" identifier = identifier) ;) (expression_statement "uVar1 = local_48;" (assignment_expression "uVar1 = local_48" identifier = identifier) ;) (if_statement "if (cVar3 != '\0') {\n    *param_7 = *param_7 | 2;\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *param_7 = *param_7 | 2;\n  }" { (expression_statement "*param_7 = *param_7 | 2;" (assignment_expression "*param_7 = *param_7 | 2" (pointer_expression "*param_7" * identifier) = (binary_expression "*param_7 | 2" (pointer_expression "*param_7" * identifier) | number_literal)) ;) })) (if_statement "if (local_38 + -0x18 != PTR_DAT_0043dc38) {\n    FUN_002ea270(local_38 + -0x18,&local_30);\n  }" if (parenthesized_expression "(local_38 + -0x18 != PTR_DAT_0043dc38)" ( (binary_expression "local_38 + -0x18 != PTR_DAT_0043dc38" (binary_expression "local_38 + -0x18" identifier + number_literal) != identifier) )) (compound_statement "{\n    FUN_002ea270(local_38 + -0x18,&local_30);\n  }" { (expression_statement "FUN_002ea270(local_38 + -0x18,&local_30);" (call_expression "FUN_002ea270(local_38 + -0x18,&local_30)" identifier (argument_list "(local_38 + -0x18,&local_30)" ( (binary_expression "local_38 + -0x18" identifier + number_literal) , (pointer_expression "&local_30" & identifier) ))) ;) })) (expression_statement "auVar4._8_8_ = uVar2;" (assignment_expression "auVar4._8_8_ = uVar2" (field_expression "auVar4._8_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar4._0_8_ = uVar1;" (assignment_expression "auVar4._0_8_ = uVar1" (field_expression "auVar4._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar4;" return identifier ;) (ERROR "}" }))
(translation_unit (expression_statement (subscript_expression IDENT [ LIT ]) ;) (declaration (macro_type_specifier IDENT ( (type_descriptor TYPE) )) IDENT , IDENT (ERROR IDENT) , IDENT (ERROR IDENT) , IDENT (ERROR IDENT) , IDENT (ERROR IDENT) , IDENT (ERROR IDENT) , (ERROR IDENT) (pointer_declarator * IDENT) , (ERROR IDENT IDENT ) { IDENT) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (return_statement return IDENT ;) (ERROR }))
(expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" (identifier "undefined1") ([ "[") (number_literal "16") (] "]")) (; "")) (declaration "FUN_002f38a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,uint *param_7,undefined8 param_8)\n\n{\n  undefined8 uVar1;" (macro_type_specifier "FUN_002f38a0(undefined8" (identifier "FUN_002f38a0") (( "(") (type_descriptor "undefined8" (type_identifier "undefined8")) () "")) (identifier "param_1") (, ",") (identifier "undefined8") (ERROR "param_2" (identifier "param_2")) (, ",") (identifier "undefined8") (ERROR "param_3" (identifier "param_3")) (, ",") (identifier "undefined8") (ERROR "param_4" (identifier "param_4")) (, ",") (identifier "undefined8") (ERROR "param_5" (identifier "param_5")) (, ",") (identifier "undefined8") (ERROR "param_6" (identifier "param_6")) (, ",") (ERROR "uint" (identifier "uint")) (pointer_declarator "*param_7" (* "*") (identifier "param_7")) (, ",") (ERROR "undefined8 param_8)\n\n{\n  undefined8" (identifier "undefined8") (identifier "param_8") () ")") ({ "{") (identifier "undefined8")) (identifier "uVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "undefined1 auVar4 [16];" (type_identifier "undefined1") (array_declarator "auVar4 [16]" (identifier "auVar4") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar5 [12];" (type_identifier "undefined1") (array_declarator "auVar5 [12]" (identifier "auVar5") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined8 local_58;" (type_identifier "undefined8") (identifier "local_58") (; ";")) (declaration "undefined8 local_50;" (type_identifier "undefined8") (identifier "local_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "undefined8 local_40;" (type_identifier "undefined8") (identifier "local_40") (; ";")) (declaration "undefined1 *local_38;" (type_identifier "undefined1") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined8 local_30;" (type_identifier "undefined8") (identifier "local_30") (; ";")) (expression_statement "local_38 = &DAT_0044a558;" (assignment_expression "local_38 = &DAT_0044a558" (identifier "local_38") (= "=") (pointer_expression "&DAT_0044a558" (& "&") (identifier "DAT_0044a558"))) (; ";")) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" (identifier "local_58") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_50 = param_5;" (assignment_expression "local_50 = param_5" (identifier "local_50") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" (identifier "local_48") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_40 = param_3;" (assignment_expression "local_40 = param_3" (identifier "local_40") (= "=") (identifier "param_3")) (; ";")) (expression_statement "FUN_0030e7a0(&local_38,0x20);" (call_expression "FUN_0030e7a0(&local_38,0x20)" (identifier "FUN_0030e7a0") (argument_list "(&local_38,0x20)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (number_literal "0x20") () ")"))) (; ";")) (expression_statement "auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6);" (assignment_expression "auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6)" (identifier "auVar5") (= "=") (call_expression "FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6)" (identifier "FUN_002f2e70") (argument_list "(param_1,local_48,local_40,local_58,local_50,param_6)" (( "(") (identifier "param_1") (, ",") (identifier "local_48") (, ",") (identifier "local_40") (, ",") (identifier "local_58") (, ",") (identifier "local_50") (, ",") (identifier "param_6") () ")")))) (; ";")) (expression_statement "local_48 = auVar5._0_8_;" (assignment_expression "local_48 = auVar5._0_8_" (identifier "local_48") (= "=") (field_expression "auVar5._0_8_" (identifier "auVar5") (. ".") (field_identifier "_0_8_"))) (; ";")) (expression_statement "local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);" (assignment_expression "local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_)" (identifier "local_40") (= "=") (call_expression "CONCAT44(local_40._4_4_,auVar5._8_4_)" (identifier "CONCAT44") (argument_list "(local_40._4_4_,auVar5._8_4_)" (( "(") (field_expression "local_40._4_4_" (identifier "local_40") (. ".") (field_identifier "_4_4_")) (, ",") (field_expression "auVar5._8_4_" (identifier "auVar5") (. ".") (field_identifier "_8_4_")) () ")")))) (; ";")) (expression_statement "local_30 = FUN_002dcf70();" (assignment_expression "local_30 = FUN_002dcf70()" (identifier "local_30") (= "=") (call_expression "FUN_002dcf70()" (identifier "FUN_002dcf70") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0031b930(local_38,param_8,param_7,&local_30);" (call_expression "FUN_0031b930(local_38,param_8,param_7,&local_30)" (identifier "FUN_0031b930") (argument_list "(local_38,param_8,param_7,&local_30)" (( "(") (identifier "local_38") (, ",") (identifier "param_8") (, ",") (identifier "param_7") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")"))) (; ";")) (expression_statement "cVar3 = FUN_002f12b0(&local_48,&local_58);" (assignment_expression "cVar3 = FUN_002f12b0(&local_48,&local_58)" (identifier "cVar3") (= "=") (call_expression "FUN_002f12b0(&local_48,&local_58)" (identifier "FUN_002f12b0") (argument_list "(&local_48,&local_58)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (expression_statement "uVar2 = local_40;" (assignment_expression "uVar2 = local_40" (identifier "uVar2") (= "=") (identifier "local_40")) (; ";")) (expression_statement "uVar1 = local_48;" (assignment_expression "uVar1 = local_48" (identifier "uVar1") (= "=") (identifier "local_48")) (; ";")) (if_statement "if (cVar3 != '\0') {\n    *param_7 = *param_7 | 2;\n  }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *param_7 = *param_7 | 2;\n  }" ({ "{") (expression_statement "*param_7 = *param_7 | 2;" (assignment_expression "*param_7 = *param_7 | 2" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (binary_expression "*param_7 | 2" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (| "|") (number_literal "2"))) (; ";")) (} "}"))) (if_statement "if (local_38 + -0x18 != PTR_DAT_0043dc38) {\n    FUN_002ea270(local_38 + -0x18,&local_30);\n  }" (if "if") (parenthesized_expression "(local_38 + -0x18 != PTR_DAT_0043dc38)" (( "(") (binary_expression "local_38 + -0x18 != PTR_DAT_0043dc38" (binary_expression "local_38 + -0x18" (identifier "local_38") (+ "+") (number_literal "-0x18")) (!= "!=") (identifier "PTR_DAT_0043dc38")) () ")")) (compound_statement "{\n    FUN_002ea270(local_38 + -0x18,&local_30);\n  }" ({ "{") (expression_statement "FUN_002ea270(local_38 + -0x18,&local_30);" (call_expression "FUN_002ea270(local_38 + -0x18,&local_30)" (identifier "FUN_002ea270") (argument_list "(local_38 + -0x18,&local_30)" (( "(") (binary_expression "local_38 + -0x18" (identifier "local_38") (+ "+") (number_literal "-0x18")) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")"))) (; ";")) (} "}"))) (expression_statement "auVar4._8_8_ = uVar2;" (assignment_expression "auVar4._8_8_ = uVar2" (field_expression "auVar4._8_8_" (identifier "auVar4") (. ".") (field_identifier "_8_8_")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "auVar4._0_8_ = uVar1;" (assignment_expression "auVar4._0_8_ = uVar1" (field_expression "auVar4._0_8_" (identifier "auVar4") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar1")) (; ";")) (return_statement "return auVar4;" (return "return") (identifier "auVar4") (; ";")) (ERROR "}" (} "}"))

/* std::num_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> >, std::ios_base&, std::_Ios_Iostate&, float&) const */

type_2  [16]
std::num_get<var_2,std::type_5<var_2,std::var_1<var_2>>>::var_3
          (type_1 param_1,type_1 param_2,type_1 param_3,type_1 param_4,
          type_1 param_5,type_1 param_6,var_4 *var_5,var_6 *var_7)

{
  type_1 uVar1;
  type_1 uVar2;
  char var_15;
  type_2 auVar4 [16];
  type_2 auVar5 [12];
  type_1 local_58;
  type_1 local_50;
  type_1 var_14;
  type_1 local_40;
  char *var_17;
  type_3 *local_30;
  
  var_17 = &DAT_0044a558;
  local_58 = param_4;
  local_50 = param_5;
  var_14 = param_2;
  local_40 = param_3;
                    /* try { // try from 002f38e4 to 002f3947 has its CatchHandler @ 002f3992 */
  std::string::var_8((type_4 *)&var_17,0x20);
  auVar5 = var_9(param_1,var_14,local_40,local_58,local_50,param_6,var_5,
                            (type_4 *)&var_17);
  var_14 = auVar5._0_8_;
  local_40 = var_10(local_40._4_4_,auVar5._8_4_);
  local_30 = (type_3 *)locale::facet::var_11();
  var_12<var_6>(var_17,var_7,var_5,&local_30);
  var_15 = type_5<var_2,std::var_1<var_2>>::var_13
                    ((type_5<var_2,std::var_1<var_2>> *)&var_14,
                     (type_5 *)&local_58);
  uVar2 = local_40;
  uVar1 = var_14;
  if (var_15 != '\0') {
    *var_5 = *var_5 | var_16;
  }
  if ((type_6 *)(var_17 + -0x18) != (type_6 *)PTR__S_empty_rep_storage_0043dc38) {
    std::string::_Rep::var_18((type_6 *)(var_17 + -0x18));
  }
  auVar4._8_8_ = uVar2;
  auVar4._0_8_ = uVar1;
  return auVar4;
}


(translation_unit (expression_statement (subscript_expression argument: (identifier) index: (number_literal)) (MISSING ";")) (declaration type: (macro_type_specifier name: (identifier) type: (type_descriptor type: (type_identifier)) (MISSING ")")) declarator: (identifier) declarator: (identifier) (ERROR (identifier)) declarator: (identifier) (ERROR (identifier)) declarator: (identifier) (ERROR (identifier)) declarator: (identifier) (ERROR (identifier)) declarator: (identifier) (ERROR (identifier)) (ERROR (identifier)) declarator: (pointer_declarator declarator: (identifier)) (ERROR (identifier) (identifier) (identifier)) declarator: (identifier)) (declaration type: (type_identifier) 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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (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 (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (return_statement (identifier)) (ERROR))

undefined1  [16]
MASKED(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
            undefined8 param_5,undefined8 param_6,uint *param_7,undefined8 param_8)

{
  undefined8 uVar1;
  undefined8 uVar2;
  char cVar3;
  undefined1 auVar4 [16];
  undefined1 auVar5 [12];
  undefined8 local_58;
  undefined8 local_50;
  undefined8 local_48;
  undefined8 local_40;
  undefined1 *local_38;
  undefined8 local_30;
  
  local_38 = &DAT_0044a558;
  local_58 = param_4;
  local_50 = param_5;
  local_48 = param_2;
  local_40 = param_3;
                    /* try { // try from 002f38e4 to 002f3947 has its CatchHandler @ 002f3992 */
  FUN_0030e7a0(&local_38,0x20);
  auVar5 = FUN_002f2e70(param_1,local_48,local_40,local_58,local_50,param_6);
  local_48 = auVar5._0_8_;
  local_40 = CONCAT44(local_40._4_4_,auVar5._8_4_);
  local_30 = FUN_002dcf70();
  FUN_0031b930(local_38,param_8,param_7,&local_30);
  cVar3 = FUN_002f12b0(&local_48,&local_58);
  uVar2 = local_40;
  uVar1 = local_48;
  if (cVar3 != '\0') {
    *param_7 = *param_7 | 2;
  }
  if (local_38 + -0x18 != PTR_DAT_0043dc38) {
    FUN_002ea270(local_38 + -0x18,&local_30);
  }
  auVar4._8_8_ = uVar2;
  auVar4._0_8_ = uVar1;
  return auVar4;
}

