
/* std::time_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&, tm*, char, char) const */

undefined4 *
std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::do_get
          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,
          char param_10,char param_11)

{
  char cVar1;
  uint *puVar2;
  char cVar3;
  ctype *pcVar4;
  int iVar5;
  undefined4 local_res8;
  undefined4 local_resc;
  ctype local_38;
  char local_37;
  char local_36;
  undefined1 local_35;
  undefined4 local_30;
  undefined4 local_2c;
  ctype *local_28;
  
  cVar3 = param_11;
  cVar1 = param_10;
  puVar2 = param_8;
  iVar5 = param_7;
  local_res8 = param_3;
  local_resc = param_4;
  pcVar4 = use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));
  *puVar2 = 0;
  if (pcVar4[0x1c] == (ctype)0x0) {
    local_28 = pcVar4;
    (*(code *)PTR__M_widen_init_00433054)(pcVar4);
    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {
      local_38 = (ctype)0x25;
    }
    else {
      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);
    }
  }
  else {
    local_38 = pcVar4[0x42];
  }
  if (cVar3 == '\0') {
    local_36 = '\0';
    local_37 = cVar1;
  }
  else {
    local_37 = cVar3;
    local_36 = cVar1;
    local_35 = 0;
  }
  _M_extract_via_format
            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)
  ;
  local_res8 = local_30;
  local_resc = local_2c;
  iVar5 = istreambuf_iterator<char,std::char_traits<char>>::equal
                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,
                     (istreambuf_iterator *)&param_5);
  if (iVar5 != 0) {
    *puVar2 = *puVar2 | 2;
  }
  *param_1 = local_res8;
  param_1[1] = local_resc;
  return param_1;
}



undefined4 *
FUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,
            char param_10,char param_11)

{
  char cVar1;
  uint *puVar2;
  char cVar3;
  ctype *pcVar4;
  int iVar5;
  undefined4 local_res8;
  undefined4 local_resc;
  ctype local_38;
  char local_37;
  char local_36;
  undefined1 local_35;
  undefined4 local_30;
  undefined4 local_2c;
  ctype *local_28;
  
  cVar3 = param_11;
  cVar1 = param_10;
  puVar2 = param_8;
  iVar5 = param_7;
  local_res8 = param_3;
  local_resc = param_4;
  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));
  *puVar2 = 0;
  if (pcVar4[0x1c] == (ctype)0x0) {
    local_28 = pcVar4;
    (*(code *)PTR__M_widen_init_00433054)(pcVar4);
    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {
      local_38 = (ctype)0x25;
    }
    else {
      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);
    }
  }
  else {
    local_38 = pcVar4[0x42];
  }
  if (cVar3 == '\0') {
    local_36 = '\0';
    local_37 = cVar1;
  }
  else {
    local_37 = cVar3;
    local_36 = cVar1;
    local_35 = 0;
  }
  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format
            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)
  ;
  local_res8 = local_30;
  local_resc = local_2c;
  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal
                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,
                     (istreambuf_iterator *)&param_5);
  if (iVar5 != 0) {
    *puVar2 = *puVar2 | 2;
  }
  *param_1 = local_res8;
  param_1[1] = local_resc;
  return param_1;
}


lui gp,0x16
addiu gp,gp,-0x4e94
addu gp,gp,t9
addiu sp,sp,-0x68
lw t9,-0x69c0(gp)
sw s2,0x54(sp)
sw s1,0x50(sp)
sw s0,0x4c(sp)
or s0,a0,zero
sw gp,0x28(sp)
sw s5,0x60(sp)
sw s4,0x5c(sp)
or s4,a1,zero
sw s3,0x58(sp)
sw ra,0x64(sp)
sw a2,0x70(sp)
sw a3,0x74(sp)
lw s2,0x80(sp)
lw s1,0x84(sp)
lb s5,0x8f(sp)
addiu a0,s2,0x6c
bal 0x002d01bc
_lb s3,0x93(sp)
lw gp,0x28(sp)
sw zero,0x0(s1)
lb v1,0x1c(v0)
beq v1,zero,0x002df1a8
_lw t9,-0x717c(gp)
lb v0,0x42(v0)
beq s3,zero,0x002df19c
_sb v0,0x30(sp)
sb s3,0x31(sp)
sb s5,0x32(sp)
sb zero,0x33(sp)
addiu v0,sp,0x30
lw t9,-0x68a0(gp)
lw a2,0x70(sp)
addiu a0,sp,0x38
sw v0,0x24(sp)
or a1,s4,zero
lw v0,0x88(sp)
lw a3,0x74(sp)
sw s1,0x1c(sp)
sw v0,0x20(sp)
lw v0,0x78(sp)
sw s2,0x18(sp)
sw v0,0x10(sp)
lw v0,0x7c(sp)
bal 0x002d70a0
_sw v0,0x14(sp)
addiu a1,sp,0x78
lw v0,0x38(sp)
addiu a0,sp,0x70
lw gp,0x28(sp)
sw v0,0x70(sp)
lw v0,0x3c(sp)
lw t9,-0x68bc(gp)
bal 0x002d65bc
_sw v0,0x74(sp)
beq v0,zero,0x002df168
_lw v1,0x70(sp)
lw v0,0x0(s1)
ori v0,v0,0x2
sw v0,0x0(s1)
lw v1,0x70(sp)
or v0,s0,zero
lw ra,0x64(sp)
lw s5,0x60(sp)
lw s4,0x5c(sp)
lw s3,0x58(sp)
lw s2,0x54(sp)
lw s1,0x50(sp)
sw v1,0x0(s0)
lw v1,0x74(sp)
sw v1,0x4(s0)
lw s0,0x4c(sp)
jr ra
_addiu sp,sp,0x68
sb s5,0x31(sp)
b 0x002df0ec
_sb zero,0x32(sp)
or a0,v0,zero
jalr t9
_sw v0,0x40(sp)
lw v0,0x40(sp)
lw gp,0x28(sp)
lw a0,0x0(v0)
lw v1,-0x7168(gp)
lw t9,0x18(a0)
bne t9,v1,0x002df1d8
_li a1,0x25
b 0x002df0d8
_li v0,0x25
jalr t9
_or a0,v0,zero
b 0x002df0d8
_lw gp,0x28(sp)
(translation_unit "undefined4 *\nFUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)\n\n{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}\n\n" (function_definition "undefined4 *\nFUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)\n\n{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}" type_identifier (pointer_declarator "*\nFUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)" * (function_declarator "FUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "uint *param_8" type_identifier (pointer_declarator "*param_8" * identifier)) , (parameter_declaration "undefined4 param_9" type_identifier identifier) , (parameter_declaration "char param_10" primitive_type identifier) , (parameter_declaration "char param_11" primitive_type identifier) )))) (compound_statement "{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "ctype *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "ctype local_38;" type_identifier identifier ;) (declaration "char local_37;" primitive_type identifier ;) (declaration "char local_36;" primitive_type identifier ;) (declaration "undefined1 local_35;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "ctype *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (expression_statement "cVar3 = param_11;" (assignment_expression "cVar3 = param_11" identifier = identifier) ;) (expression_statement "cVar1 = param_10;" (assignment_expression "cVar1 = param_10" identifier = identifier) ;) (expression_statement "puVar2 = param_8;" (assignment_expression "puVar2 = param_8" identifier = identifier) ;) (expression_statement "iVar5 = param_7;" (assignment_expression "iVar5 = param_7" identifier = identifier) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));" (binary_expression "pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c))" (binary_expression "pcVar4 = std::use_facet<std" (assignment_expression "pcVar4 = std" identifier = identifier) (ERROR "::use_facet" : : identifier) < identifier) (ERROR "::ctype" : : identifier) < (binary_expression "char>>((locale *)(param_7 + 0x6c))" identifier >> (parenthesized_expression "((locale *)(param_7 + 0x6c))" ( (cast_expression "(locale *)(param_7 + 0x6c)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x6c)" ( (binary_expression "param_7 + 0x6c" identifier + number_literal) ))) )))) ;) (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (if_statement "if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }" if (parenthesized_expression "(pcVar4[0x1c] == (ctype)0x0)" ( (binary_expression "pcVar4[0x1c] == (ctype)0x0" (subscript_expression "pcVar4[0x1c]" identifier [ number_literal ]) == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }" { (expression_statement "local_28 = pcVar4;" (assignment_expression "local_28 = pcVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR__M_widen_init_00433054)(pcVar4);" (call_expression "(*(code *)PTR__M_widen_init_00433054)(pcVar4)" (parenthesized_expression "(*(code *)PTR__M_widen_init_00433054)" ( (pointer_expression "*(code *)PTR__M_widen_init_00433054" * (cast_expression "(code *)PTR__M_widen_init_00433054" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar4)" ( identifier ))) ;) (if_statement "if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" if (parenthesized_expression "(*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068)" ( (binary_expression "*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068" (pointer_expression "*(code **)(*(int *)local_28 + 0x18)" * (cast_expression "(code **)(*(int *)local_28 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)local_28 + 0x18)" ( (binary_expression "*(int *)local_28 + 0x18" (pointer_expression "*(int *)local_28" * (cast_expression "(int *)local_28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)PTR_do_widen_00433068" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      local_38 = (ctype)0x25;\n    }" { (expression_statement "local_38 = (ctype)0x25;" (assignment_expression "local_38 = (ctype)0x25" identifier = (cast_expression "(ctype)0x25" ( (type_descriptor "ctype" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" else (compound_statement "{\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" { (expression_statement "local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);" (assignment_expression "local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25)" identifier = (call_expression "(ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25)" (call_expression "(ctype)(**(code **)(*(int *)local_28 + 0x18))" (parenthesized_expression "(ctype)" ( identifier )) (argument_list "(**(code **)(*(int *)local_28 + 0x18))" ( (pointer_expression "**(code **)(*(int *)local_28 + 0x18)" * (pointer_expression "*(code **)(*(int *)local_28 + 0x18)" * (cast_expression "(code **)(*(int *)local_28 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)local_28 + 0x18)" ( (binary_expression "*(int *)local_28 + 0x18" (pointer_expression "*(int *)local_28" * (cast_expression "(int *)local_28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ))) (argument_list "(local_28,0x25)" ( identifier , number_literal )))) ;) }))) }) (else_clause "else {\n    local_38 = pcVar4[0x42];\n  }" else (compound_statement "{\n    local_38 = pcVar4[0x42];\n  }" { (expression_statement "local_38 = pcVar4[0x42];" (assignment_expression "local_38 = pcVar4[0x42]" identifier = (subscript_expression "pcVar4[0x42]" identifier [ number_literal ])) ;) }))) (if_statement "if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_36 = '\0';\n    local_37 = cVar1;\n  }" { (expression_statement "local_36 = '\0';" (assignment_expression "local_36 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_37 = cVar1;" (assignment_expression "local_37 = cVar1" identifier = identifier) ;) }) (else_clause "else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" else (compound_statement "{\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" { (expression_statement "local_37 = cVar3;" (assignment_expression "local_37 = cVar3" identifier = identifier) ;) (expression_statement "local_36 = cVar1;" (assignment_expression "local_36 = cVar1" identifier = identifier) ;) (expression_statement "local_35 = 0;" (assignment_expression "local_35 = 0" identifier = number_literal) ;) }))) (labeled_statement "std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;" statement_identifier (ERROR "::time_get<char,std::istreambuf_iterator<char,std:" : : (comma_expression "time_get<char,std" (binary_expression "time_get<char" identifier < identifier) , identifier) : : (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) :) : (expression_statement "char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;" (binary_expression "char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" identifier < (binary_expression "char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" identifier >> (ERROR ">::" > : :) (call_expression "_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" identifier (argument_list "(&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" ( (pointer_expression "&local_30" & identifier) , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_38" & identifier) ))))) ;)) (expression_statement "local_res8 = local_30;" (assignment_expression "local_res8 = local_30" identifier = identifier) ;) (expression_statement "local_resc = local_2c;" (assignment_expression "local_resc = local_2c" identifier = identifier) ;) (ERROR "iVar5 = std::istreambuf_iterator<char,std::" (assignment_expression "iVar5 = std" identifier = identifier) : : (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) : :) (expression_statement "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);" (binary_expression "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" identifier < (binary_expression "char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" identifier >> (ERROR "::" : :) (call_expression "equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" identifier (argument_list "((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" ( (binary_expression "(istreambuf_iterator<char,std::char_traits<char>> *)&local_res8" (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 *)&param_5" ( (type_descriptor "istreambuf_iterator *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_5" & identifier)) ))))) ;) (if_statement "if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    *puVar2 = *puVar2 | 2;\n  }" { (expression_statement "*puVar2 = *puVar2 | 2;" (assignment_expression "*puVar2 = *puVar2 | 2" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 | 2" (pointer_expression "*puVar2" * identifier) | number_literal)) ;) })) (expression_statement "*param_1 = local_res8;" (assignment_expression "*param_1 = local_res8" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = local_resc;" (assignment_expression "param_1[1] = local_resc" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return param_1;" return identifier ;) })))
(translation_unit "/* std::time_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&, tm*, char, char) const */\n\nundefined4 *\nstd::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::do_get\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n          char param_10,char param_11)\n\n{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  _M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}\n\n" comment (ERROR "undefined4 *\nstd::time_get<char," (binary_expression "undefined4 *\nstd::time_get<char" (binary_expression "undefined4 *\nstd" identifier * identifier) (ERROR "::time_get" : : identifier) < identifier) ,) (labeled_statement "std::istreambuf_iterator<char,std::char_traits<char>>>::do_get\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n          char param_10,char param_11)" 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,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n          char param_10,char param_11)" (binary_expression "char_traits<char>>>::do_get\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n          char param_10,char param_11)" identifier < (binary_expression "char>>>::do_get\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n          char param_10,char param_11)" identifier >> (ERROR ">::" > : :) (call_expression "do_get\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n          char param_10,char param_11)" identifier (argument_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n          char param_10,char param_11)" ( (binary_expression "undefined4 *param_1" 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 "int" identifier) identifier , (binary_expression "uint *param_8" identifier * identifier) , identifier (ERROR "param_9" identifier) , (ERROR "char" identifier) identifier , (ERROR "char" identifier) identifier ))))) ;)) (compound_statement "{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  _M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "ctype *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "ctype local_38;" type_identifier identifier ;) (declaration "char local_37;" primitive_type identifier ;) (declaration "char local_36;" primitive_type identifier ;) (declaration "undefined1 local_35;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "ctype *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (expression_statement "cVar3 = param_11;" (assignment_expression "cVar3 = param_11" identifier = identifier) ;) (expression_statement "cVar1 = param_10;" (assignment_expression "cVar1 = param_10" identifier = identifier) ;) (expression_statement "puVar2 = param_8;" (assignment_expression "puVar2 = param_8" identifier = identifier) ;) (expression_statement "iVar5 = param_7;" (assignment_expression "iVar5 = param_7" identifier = identifier) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "pcVar4 = use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));" (binary_expression "pcVar4 = use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c))" (assignment_expression "pcVar4 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::ctype" : : identifier) < (binary_expression "char>>((locale *)(param_7 + 0x6c))" identifier >> (parenthesized_expression "((locale *)(param_7 + 0x6c))" ( (cast_expression "(locale *)(param_7 + 0x6c)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x6c)" ( (binary_expression "param_7 + 0x6c" identifier + number_literal) ))) )))) ;) (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (if_statement "if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }" if (parenthesized_expression "(pcVar4[0x1c] == (ctype)0x0)" ( (binary_expression "pcVar4[0x1c] == (ctype)0x0" (subscript_expression "pcVar4[0x1c]" identifier [ number_literal ]) == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }" { (expression_statement "local_28 = pcVar4;" (assignment_expression "local_28 = pcVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR__M_widen_init_00433054)(pcVar4);" (call_expression "(*(code *)PTR__M_widen_init_00433054)(pcVar4)" (parenthesized_expression "(*(code *)PTR__M_widen_init_00433054)" ( (pointer_expression "*(code *)PTR__M_widen_init_00433054" * (cast_expression "(code *)PTR__M_widen_init_00433054" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar4)" ( identifier ))) ;) (if_statement "if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" if (parenthesized_expression "(*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068)" ( (binary_expression "*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068" (pointer_expression "*(code **)(*(int *)local_28 + 0x18)" * (cast_expression "(code **)(*(int *)local_28 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)local_28 + 0x18)" ( (binary_expression "*(int *)local_28 + 0x18" (pointer_expression "*(int *)local_28" * (cast_expression "(int *)local_28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)PTR_do_widen_00433068" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      local_38 = (ctype)0x25;\n    }" { (expression_statement "local_38 = (ctype)0x25;" (assignment_expression "local_38 = (ctype)0x25" identifier = (cast_expression "(ctype)0x25" ( (type_descriptor "ctype" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" else (compound_statement "{\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" { (expression_statement "local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);" (assignment_expression "local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25)" identifier = (call_expression "(ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25)" (call_expression "(ctype)(**(code **)(*(int *)local_28 + 0x18))" (parenthesized_expression "(ctype)" ( identifier )) (argument_list "(**(code **)(*(int *)local_28 + 0x18))" ( (pointer_expression "**(code **)(*(int *)local_28 + 0x18)" * (pointer_expression "*(code **)(*(int *)local_28 + 0x18)" * (cast_expression "(code **)(*(int *)local_28 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)local_28 + 0x18)" ( (binary_expression "*(int *)local_28 + 0x18" (pointer_expression "*(int *)local_28" * (cast_expression "(int *)local_28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ))) (argument_list "(local_28,0x25)" ( identifier , number_literal )))) ;) }))) }) (else_clause "else {\n    local_38 = pcVar4[0x42];\n  }" else (compound_statement "{\n    local_38 = pcVar4[0x42];\n  }" { (expression_statement "local_38 = pcVar4[0x42];" (assignment_expression "local_38 = pcVar4[0x42]" identifier = (subscript_expression "pcVar4[0x42]" identifier [ number_literal ])) ;) }))) (if_statement "if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_36 = '\0';\n    local_37 = cVar1;\n  }" { (expression_statement "local_36 = '\0';" (assignment_expression "local_36 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_37 = cVar1;" (assignment_expression "local_37 = cVar1" identifier = identifier) ;) }) (else_clause "else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" else (compound_statement "{\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" { (expression_statement "local_37 = cVar3;" (assignment_expression "local_37 = cVar3" identifier = identifier) ;) (expression_statement "local_36 = cVar1;" (assignment_expression "local_36 = cVar1" identifier = identifier) ;) (expression_statement "local_35 = 0;" (assignment_expression "local_35 = 0" identifier = number_literal) ;) }))) (expression_statement "_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;" (call_expression "_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" identifier (argument_list "(&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" ( (pointer_expression "&local_30" & identifier) , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "local_res8 = local_30;" (assignment_expression "local_res8 = local_30" identifier = identifier) ;) (expression_statement "local_resc = local_2c;" (assignment_expression "local_resc = local_2c" identifier = identifier) ;) (ERROR "iVar5 = istreambuf_iterator<char,std::" (comma_expression "iVar5 = istreambuf_iterator<char,std" (assignment_expression "iVar5 = 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_res8,\n                     (istreambuf_iterator *)&param_5);" (binary_expression "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" identifier < (binary_expression "char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" identifier >> (ERROR "::" : :) (call_expression "equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" identifier (argument_list "((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" ( (binary_expression "(istreambuf_iterator<char,std::char_traits<char>> *)&local_res8" (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 *)&param_5" ( (type_descriptor "istreambuf_iterator *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_5" & identifier)) ))))) ;) (if_statement "if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    *puVar2 = *puVar2 | 2;\n  }" { (expression_statement "*puVar2 = *puVar2 | 2;" (assignment_expression "*puVar2 = *puVar2 | 2" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 | 2" (pointer_expression "*puVar2" * identifier) | number_literal)) ;) })) (expression_statement "*param_1 = local_res8;" (assignment_expression "*param_1 = local_res8" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = local_resc;" (assignment_expression "param_1[1] = local_resc" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return param_1;" return identifier ;) }))
(translation_unit "undefined4 *\nFUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)\n\n{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}\n\n" (function_definition "undefined4 *\nFUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)\n\n{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}" type_identifier (pointer_declarator "*\nFUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)" * (function_declarator "FUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "uint *param_8" type_identifier (pointer_declarator "*param_8" * identifier)) , (parameter_declaration "undefined4 param_9" type_identifier identifier) , (parameter_declaration "char param_10" primitive_type identifier) , (parameter_declaration "char param_11" primitive_type identifier) )))) (compound_statement "{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "ctype *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "ctype local_38;" type_identifier identifier ;) (declaration "char local_37;" primitive_type identifier ;) (declaration "char local_36;" primitive_type identifier ;) (declaration "undefined1 local_35;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "ctype *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (expression_statement "cVar3 = param_11;" (assignment_expression "cVar3 = param_11" identifier = identifier) ;) (expression_statement "cVar1 = param_10;" (assignment_expression "cVar1 = param_10" identifier = identifier) ;) (expression_statement "puVar2 = param_8;" (assignment_expression "puVar2 = param_8" identifier = identifier) ;) (expression_statement "iVar5 = param_7;" (assignment_expression "iVar5 = param_7" identifier = identifier) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));" (binary_expression "pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c))" (binary_expression "pcVar4 = std::use_facet<std" (assignment_expression "pcVar4 = std" identifier = identifier) (ERROR "::use_facet" : : identifier) < identifier) (ERROR "::ctype" : : identifier) < (binary_expression "char>>((locale *)(param_7 + 0x6c))" identifier >> (parenthesized_expression "((locale *)(param_7 + 0x6c))" ( (cast_expression "(locale *)(param_7 + 0x6c)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x6c)" ( (binary_expression "param_7 + 0x6c" identifier + number_literal) ))) )))) ;) (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (if_statement "if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }" if (parenthesized_expression "(pcVar4[0x1c] == (ctype)0x0)" ( (binary_expression "pcVar4[0x1c] == (ctype)0x0" (subscript_expression "pcVar4[0x1c]" identifier [ number_literal ]) == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }" { (expression_statement "local_28 = pcVar4;" (assignment_expression "local_28 = pcVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR__M_widen_init_00433054)(pcVar4);" (call_expression "(*(code *)PTR__M_widen_init_00433054)(pcVar4)" (parenthesized_expression "(*(code *)PTR__M_widen_init_00433054)" ( (pointer_expression "*(code *)PTR__M_widen_init_00433054" * (cast_expression "(code *)PTR__M_widen_init_00433054" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar4)" ( identifier ))) ;) (if_statement "if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" if (parenthesized_expression "(*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068)" ( (binary_expression "*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068" (pointer_expression "*(code **)(*(int *)local_28 + 0x18)" * (cast_expression "(code **)(*(int *)local_28 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)local_28 + 0x18)" ( (binary_expression "*(int *)local_28 + 0x18" (pointer_expression "*(int *)local_28" * (cast_expression "(int *)local_28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)PTR_do_widen_00433068" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      local_38 = (ctype)0x25;\n    }" { (expression_statement "local_38 = (ctype)0x25;" (assignment_expression "local_38 = (ctype)0x25" identifier = (cast_expression "(ctype)0x25" ( (type_descriptor "ctype" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" else (compound_statement "{\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" { (expression_statement "local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);" (assignment_expression "local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25)" identifier = (call_expression "(ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25)" (call_expression "(ctype)(**(code **)(*(int *)local_28 + 0x18))" (parenthesized_expression "(ctype)" ( identifier )) (argument_list "(**(code **)(*(int *)local_28 + 0x18))" ( (pointer_expression "**(code **)(*(int *)local_28 + 0x18)" * (pointer_expression "*(code **)(*(int *)local_28 + 0x18)" * (cast_expression "(code **)(*(int *)local_28 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)local_28 + 0x18)" ( (binary_expression "*(int *)local_28 + 0x18" (pointer_expression "*(int *)local_28" * (cast_expression "(int *)local_28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ))) (argument_list "(local_28,0x25)" ( identifier , number_literal )))) ;) }))) }) (else_clause "else {\n    local_38 = pcVar4[0x42];\n  }" else (compound_statement "{\n    local_38 = pcVar4[0x42];\n  }" { (expression_statement "local_38 = pcVar4[0x42];" (assignment_expression "local_38 = pcVar4[0x42]" identifier = (subscript_expression "pcVar4[0x42]" identifier [ number_literal ])) ;) }))) (if_statement "if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_36 = '\0';\n    local_37 = cVar1;\n  }" { (expression_statement "local_36 = '\0';" (assignment_expression "local_36 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_37 = cVar1;" (assignment_expression "local_37 = cVar1" identifier = identifier) ;) }) (else_clause "else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" else (compound_statement "{\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" { (expression_statement "local_37 = cVar3;" (assignment_expression "local_37 = cVar3" identifier = identifier) ;) (expression_statement "local_36 = cVar1;" (assignment_expression "local_36 = cVar1" identifier = identifier) ;) (expression_statement "local_35 = 0;" (assignment_expression "local_35 = 0" identifier = number_literal) ;) }))) (labeled_statement "std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;" statement_identifier (ERROR "::time_get<char,std::istreambuf_iterator<char,std:" : : (comma_expression "time_get<char,std" (binary_expression "time_get<char" identifier < identifier) , identifier) : : (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) :) : (expression_statement "char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;" (binary_expression "char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" identifier < (binary_expression "char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" identifier >> (ERROR ">::" > : :) (call_expression "_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" identifier (argument_list "(&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" ( (pointer_expression "&local_30" & identifier) , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_38" & identifier) ))))) ;)) (expression_statement "local_res8 = local_30;" (assignment_expression "local_res8 = local_30" identifier = identifier) ;) (expression_statement "local_resc = local_2c;" (assignment_expression "local_resc = local_2c" identifier = identifier) ;) (ERROR "iVar5 = std::istreambuf_iterator<char,std::" (assignment_expression "iVar5 = std" identifier = identifier) : : (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) : :) (expression_statement "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);" (binary_expression "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" identifier < (binary_expression "char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" identifier >> (ERROR "::" : :) (call_expression "equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" identifier (argument_list "((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" ( (binary_expression "(istreambuf_iterator<char,std::char_traits<char>> *)&local_res8" (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 *)&param_5" ( (type_descriptor "istreambuf_iterator *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_5" & identifier)) ))))) ;) (if_statement "if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    *puVar2 = *puVar2 | 2;\n  }" { (expression_statement "*puVar2 = *puVar2 | 2;" (assignment_expression "*puVar2 = *puVar2 | 2" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 | 2" (pointer_expression "*puVar2" * identifier) | number_literal)) ;) })) (expression_statement "*param_1 = local_res8;" (assignment_expression "*param_1 = local_res8" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = local_resc;" (assignment_expression "param_1[1] = local_resc" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return param_1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (binary_expression (binary_expression (assignment_expression IDENT = IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) < (binary_expression IDENT >> (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ))) (argument_list ( IDENT , LIT )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) :) : (expression_statement (binary_expression IDENT < (binary_expression IDENT >> (ERROR > : :) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (ERROR (assignment_expression IDENT = IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : :) (expression_statement (binary_expression IDENT < (binary_expression IDENT >> (ERROR : :) (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < IDENT) , IDENT) : :) (binary_expression IDENT < (binary_expression IDENT >> (pointer_expression * IDENT))) )) & IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 *\nFUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)\n\n{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}" (type_identifier "undefined4") (pointer_declarator "*\nFUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)" (* "*") (function_declarator "FUN_002df064(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)" (identifier "FUN_002df064") (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,\n            char param_10,char param_11)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "int param_7" (primitive_type "int") (identifier "param_7")) (, ",") (parameter_declaration "uint *param_8" (type_identifier "uint") (pointer_declarator "*param_8" (* "*") (identifier "param_8"))) (, ",") (parameter_declaration "undefined4 param_9" (type_identifier "undefined4") (identifier "param_9")) (, ",") (parameter_declaration "char param_10" (primitive_type "char") (identifier "param_10")) (, ",") (parameter_declaration "char param_11" (primitive_type "char") (identifier "param_11")) () ")")))) (compound_statement "{\n  char cVar1;\n  uint *puVar2;\n  char cVar3;\n  ctype *pcVar4;\n  int iVar5;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  ctype local_38;\n  char local_37;\n  char local_36;\n  undefined1 local_35;\n  undefined4 local_30;\n  undefined4 local_2c;\n  ctype *local_28;\n  \n  cVar3 = param_11;\n  cVar1 = param_10;\n  puVar2 = param_8;\n  iVar5 = param_7;\n  local_res8 = param_3;\n  local_resc = param_4;\n  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));\n  *puVar2 = 0;\n  if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }\n  if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }\n  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;\n  local_res8 = local_30;\n  local_resc = local_2c;\n  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);\n  if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }\n  *param_1 = local_res8;\n  param_1[1] = local_resc;\n  return param_1;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "ctype *pcVar4;" (type_identifier "ctype") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 local_res8;" (type_identifier "undefined4") (identifier "local_res8") (; ";")) (declaration "undefined4 local_resc;" (type_identifier "undefined4") (identifier "local_resc") (; ";")) (declaration "ctype local_38;" (type_identifier "ctype") (identifier "local_38") (; ";")) (declaration "char local_37;" (primitive_type "char") (identifier "local_37") (; ";")) (declaration "char local_36;" (primitive_type "char") (identifier "local_36") (; ";")) (declaration "undefined1 local_35;" (type_identifier "undefined1") (identifier "local_35") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "ctype *local_28;" (type_identifier "ctype") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (expression_statement "cVar3 = param_11;" (assignment_expression "cVar3 = param_11" (identifier "cVar3") (= "=") (identifier "param_11")) (; ";")) (expression_statement "cVar1 = param_10;" (assignment_expression "cVar1 = param_10" (identifier "cVar1") (= "=") (identifier "param_10")) (; ";")) (expression_statement "puVar2 = param_8;" (assignment_expression "puVar2 = param_8" (identifier "puVar2") (= "=") (identifier "param_8")) (; ";")) (expression_statement "iVar5 = param_7;" (assignment_expression "iVar5 = param_7" (identifier "iVar5") (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" (identifier "local_res8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" (identifier "local_resc") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));" (binary_expression "pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c))" (binary_expression "pcVar4 = std::use_facet<std" (assignment_expression "pcVar4 = std" (identifier "pcVar4") (= "=") (identifier "std")) (ERROR "::use_facet" (: ":") (: ":") (identifier "use_facet")) (< "<") (identifier "std")) (ERROR "::ctype" (: ":") (: ":") (identifier "ctype")) (< "<") (binary_expression "char>>((locale *)(param_7 + 0x6c))" (identifier "char") (>> ">>") (parenthesized_expression "((locale *)(param_7 + 0x6c))" (( "(") (cast_expression "(locale *)(param_7 + 0x6c)" (( "(") (type_descriptor "locale *" (type_identifier "locale") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x6c)" (( "(") (binary_expression "param_7 + 0x6c" (identifier "param_7") (+ "+") (number_literal "0x6c")) () ")"))) () ")")))) (; ";")) (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (pcVar4[0x1c] == (ctype)0x0) {\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }\n  else {\n    local_38 = pcVar4[0x42];\n  }" (if "if") (parenthesized_expression "(pcVar4[0x1c] == (ctype)0x0)" (( "(") (binary_expression "pcVar4[0x1c] == (ctype)0x0" (subscript_expression "pcVar4[0x1c]" (identifier "pcVar4") ([ "[") (number_literal "0x1c") (] "]")) (== "==") (cast_expression "(ctype)0x0" (( "(") (type_descriptor "ctype" (type_identifier "ctype")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_28 = pcVar4;\n    (*(code *)PTR__M_widen_init_00433054)(pcVar4);\n    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }\n  }" ({ "{") (expression_statement "local_28 = pcVar4;" (assignment_expression "local_28 = pcVar4" (identifier "local_28") (= "=") (identifier "pcVar4")) (; ";")) (expression_statement "(*(code *)PTR__M_widen_init_00433054)(pcVar4);" (call_expression "(*(code *)PTR__M_widen_init_00433054)(pcVar4)" (parenthesized_expression "(*(code *)PTR__M_widen_init_00433054)" (( "(") (pointer_expression "*(code *)PTR__M_widen_init_00433054" (* "*") (cast_expression "(code *)PTR__M_widen_init_00433054" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_widen_init_00433054"))) () ")")) (argument_list "(pcVar4)" (( "(") (identifier "pcVar4") () ")"))) (; ";")) (if_statement "if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {\n      local_38 = (ctype)0x25;\n    }\n    else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" (if "if") (parenthesized_expression "(*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068)" (( "(") (binary_expression "*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068" (pointer_expression "*(code **)(*(int *)local_28 + 0x18)" (* "*") (cast_expression "(code **)(*(int *)local_28 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)local_28 + 0x18)" (( "(") (binary_expression "*(int *)local_28 + 0x18" (pointer_expression "*(int *)local_28" (* "*") (cast_expression "(int *)local_28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (+ "+") (number_literal "0x18")) () ")")))) (== "==") (cast_expression "(code *)PTR_do_widen_00433068" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_widen_00433068"))) () ")")) (compound_statement "{\n      local_38 = (ctype)0x25;\n    }" ({ "{") (expression_statement "local_38 = (ctype)0x25;" (assignment_expression "local_38 = (ctype)0x25" (identifier "local_38") (= "=") (cast_expression "(ctype)0x25" (( "(") (type_descriptor "ctype" (type_identifier "ctype")) () ")") (number_literal "0x25"))) (; ";")) (} "}")) (else_clause "else {\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" (else "else") (compound_statement "{\n      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);\n    }" ({ "{") (expression_statement "local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);" (assignment_expression "local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25)" (identifier "local_38") (= "=") (call_expression "(ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25)" (call_expression "(ctype)(**(code **)(*(int *)local_28 + 0x18))" (parenthesized_expression "(ctype)" (( "(") (identifier "ctype") () ")")) (argument_list "(**(code **)(*(int *)local_28 + 0x18))" (( "(") (pointer_expression "**(code **)(*(int *)local_28 + 0x18)" (* "*") (pointer_expression "*(code **)(*(int *)local_28 + 0x18)" (* "*") (cast_expression "(code **)(*(int *)local_28 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)local_28 + 0x18)" (( "(") (binary_expression "*(int *)local_28 + 0x18" (pointer_expression "*(int *)local_28" (* "*") (cast_expression "(int *)local_28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (+ "+") (number_literal "0x18")) () ")"))))) () ")"))) (argument_list "(local_28,0x25)" (( "(") (identifier "local_28") (, ",") (number_literal "0x25") () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    local_38 = pcVar4[0x42];\n  }" (else "else") (compound_statement "{\n    local_38 = pcVar4[0x42];\n  }" ({ "{") (expression_statement "local_38 = pcVar4[0x42];" (assignment_expression "local_38 = pcVar4[0x42]" (identifier "local_38") (= "=") (subscript_expression "pcVar4[0x42]" (identifier "pcVar4") ([ "[") (number_literal "0x42") (] "]"))) (; ";")) (} "}")))) (if_statement "if (cVar3 == '\0') {\n    local_36 = '\0';\n    local_37 = cVar1;\n  }\n  else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_36 = '\0';\n    local_37 = cVar1;\n  }" ({ "{") (expression_statement "local_36 = '\0';" (assignment_expression "local_36 = '\0'" (identifier "local_36") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_37 = cVar1;" (assignment_expression "local_37 = cVar1" (identifier "local_37") (= "=") (identifier "cVar1")) (; ";")) (} "}")) (else_clause "else {\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" (else "else") (compound_statement "{\n    local_37 = cVar3;\n    local_36 = cVar1;\n    local_35 = 0;\n  }" ({ "{") (expression_statement "local_37 = cVar3;" (assignment_expression "local_37 = cVar3" (identifier "local_37") (= "=") (identifier "cVar3")) (; ";")) (expression_statement "local_36 = cVar1;" (assignment_expression "local_36 = cVar1" (identifier "local_36") (= "=") (identifier "cVar1")) (; ";")) (expression_statement "local_35 = 0;" (assignment_expression "local_35 = 0" (identifier "local_35") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;" (statement_identifier "std") (ERROR "::time_get<char,std::istreambuf_iterator<char,std:" (: ":") (: ":") (comma_expression "time_get<char,std" (binary_expression "time_get<char" (identifier "time_get") (< "<") (identifier "char")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" (identifier "istreambuf_iterator") (< "<") (identifier "char")) (, ",") (identifier "std")) (: ":")) (: ":") (expression_statement "char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)\n  ;" (binary_expression "char_traits<char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" (identifier "char_traits") (< "<") (binary_expression "char>>>::_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" (identifier "char") (>> ">>") (ERROR ">::" (> ">") (: ":") (: ":")) (call_expression "_M_extract_via_format\n            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" (identifier "_M_extract_via_format") (argument_list "(&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (identifier "param_2") (, ",") (identifier "local_res8") (, ",") (identifier "local_resc") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "iVar5") (, ",") (identifier "puVar2") (, ",") (identifier "param_9") (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")"))))) (; ";"))) (expression_statement "local_res8 = local_30;" (assignment_expression "local_res8 = local_30" (identifier "local_res8") (= "=") (identifier "local_30")) (; ";")) (expression_statement "local_resc = local_2c;" (assignment_expression "local_resc = local_2c" (identifier "local_resc") (= "=") (identifier "local_2c")) (; ";")) (ERROR "iVar5 = std::istreambuf_iterator<char,std::" (assignment_expression "iVar5 = std" (identifier "iVar5") (= "=") (identifier "std")) (: ":") (: ":") (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" (identifier "istreambuf_iterator") (< "<") (identifier "char")) (, ",") (identifier "std")) (: ":") (: ":")) (expression_statement "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5);" (binary_expression "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" (identifier "char_traits") (< "<") (binary_expression "char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" (identifier "char") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" (identifier "equal") (argument_list "((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,\n                     (istreambuf_iterator *)&param_5)" (( "(") (binary_expression "(istreambuf_iterator<char,std::char_traits<char>> *)&local_res8" (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 "istreambuf_iterator") (< "<") (identifier "char")) (, ",") (identifier "std")) (: ":") (: ":")) (binary_expression "char_traits<char>> *" (identifier "char_traits") (< "<") (binary_expression "char>> *" (identifier "char") (>> ">>") (pointer_expression "*" (* "*") (identifier "")))) () ")")) (& "&") (identifier "local_res8")) (, ",") (cast_expression "(istreambuf_iterator *)&param_5" (( "(") (type_descriptor "istreambuf_iterator *" (type_identifier "istreambuf_iterator") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&param_5" (& "&") (identifier "param_5"))) () ")"))))) (; ";")) (if_statement "if (iVar5 != 0) {\n    *puVar2 = *puVar2 | 2;\n  }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *puVar2 = *puVar2 | 2;\n  }" ({ "{") (expression_statement "*puVar2 = *puVar2 | 2;" (assignment_expression "*puVar2 = *puVar2 | 2" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (binary_expression "*puVar2 | 2" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (| "|") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "*param_1 = local_res8;" (assignment_expression "*param_1 = local_res8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "local_res8")) (; ";")) (expression_statement "param_1[1] = local_resc;" (assignment_expression "param_1[1] = local_resc" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_resc")) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}")))
(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))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (pointer_declarator declarator: (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 (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (binary_expression left: (assignment_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (binary_expression left: (identifier) right: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))))))) arguments: (argument_list (identifier) (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (expression_statement (binary_expression left: (identifier) right: (binary_expression left: (identifier) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (ERROR (assignment_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (expression_statement (binary_expression left: (identifier) right: (binary_expression left: (identifier) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (MISSING identifier))))) right: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement (identifier)))))

undefined4 *
MASKED(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
            undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,undefined4 param_9,
            char param_10,char param_11)

{
  char cVar1;
  uint *puVar2;
  char cVar3;
  ctype *pcVar4;
  int iVar5;
  undefined4 local_res8;
  undefined4 local_resc;
  ctype local_38;
  char local_37;
  char local_36;
  undefined1 local_35;
  undefined4 local_30;
  undefined4 local_2c;
  ctype *local_28;
  
  cVar3 = param_11;
  cVar1 = param_10;
  puVar2 = param_8;
  iVar5 = param_7;
  local_res8 = param_3;
  local_resc = param_4;
  pcVar4 = std::use_facet<std::ctype<char>>((locale *)(param_7 + 0x6c));
  *puVar2 = 0;
  if (pcVar4[0x1c] == (ctype)0x0) {
    local_28 = pcVar4;
    (*(code *)PTR__M_widen_init_00433054)(pcVar4);
    if (*(code **)(*(int *)local_28 + 0x18) == (code *)PTR_do_widen_00433068) {
      local_38 = (ctype)0x25;
    }
    else {
      local_38 = (ctype)(**(code **)(*(int *)local_28 + 0x18))(local_28,0x25);
    }
  }
  else {
    local_38 = pcVar4[0x42];
  }
  if (cVar3 == '\0') {
    local_36 = '\0';
    local_37 = cVar1;
  }
  else {
    local_37 = cVar3;
    local_36 = cVar1;
    local_35 = 0;
  }
  std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format
            (&local_30,param_2,local_res8,local_resc,param_5,param_6,iVar5,puVar2,param_9,&local_38)
  ;
  local_res8 = local_30;
  local_resc = local_2c;
  iVar5 = std::istreambuf_iterator<char,std::char_traits<char>>::equal
                    ((istreambuf_iterator<char,std::char_traits<char>> *)&local_res8,
                     (istreambuf_iterator *)&param_5);
  if (iVar5 != 0) {
    *puVar2 = *puVar2 | 2;
  }
  *param_1 = local_res8;
  param_1[1] = local_resc;
  return param_1;
}

