
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* std::iostream_category() */

undefined4 * std::iostream_category(void)

{
  int iVar1;
  
  if (::(anonymous_namespace)::__io_category_instance()::__ec == '\0') {
    iVar1 = __cxa_guard_acquire(&::(anonymous_namespace)::__io_category_instance()::__ec);
    if (iVar1 != 0) {
      __cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::__ec);
      __cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,
                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);
      return &::(anonymous_namespace)::__io_category_instance()::__ec;
    }
  }
  return &::(anonymous_namespace)::__io_category_instance()::__ec;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined ** FUN_00226370(void)

{
  int iVar1;
  
  if (DAT_00396e10 == '\0') {
    iVar1 = FUN_001e5390(&DAT_00396e10);
    if (iVar1 != 0) {
      FUN_001e5500(&DAT_00396e10);
      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);
      return &PTR_PTR_FUN_0038f394;
    }
  }
  return &PTR_PTR_FUN_0038f394;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x168c88
MOVZX EAX,byte ptr [EBX + 0x7e10]
LEA ESI,[EBX + 0x394]
TEST AL,AL
JZ 0x00226398
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0xc
LEA EDI,[EBX + 0x7e10]
LEA ESI,[EBX + 0x394]
PUSH EDI
CALL 0x001e5390
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0022638f
SUB ESP,0xc
PUSH EDI
CALL 0x001e5500
ADD ESP,0xc
LEA EAX,[EBX + 0x2e4]
PUSH EAX
LEA EAX,[EBX + 0xffe970e0]
PUSH ESI
PUSH EAX
CALL 0x00029110
ADD ESP,0x10
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined ** FUN_00226370(void)\n\n{\n  int iVar1;\n  \n  if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }\n  return &PTR_PTR_FUN_0038f394;\n}\n\n" comment (function_definition "undefined ** FUN_00226370(void)\n\n{\n  int iVar1;\n  \n  if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }\n  return &PTR_PTR_FUN_0038f394;\n}" type_identifier (pointer_declarator "** FUN_00226370(void)" * (pointer_declarator "* FUN_00226370(void)" * (function_declarator "FUN_00226370(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))))) (compound_statement "{\n  int iVar1;\n  \n  if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }\n  return &PTR_PTR_FUN_0038f394;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }" if (parenthesized_expression "(DAT_00396e10 == '\0')" ( (binary_expression "DAT_00396e10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }" { (expression_statement "iVar1 = FUN_001e5390(&DAT_00396e10);" (assignment_expression "iVar1 = FUN_001e5390(&DAT_00396e10)" identifier = (call_expression "FUN_001e5390(&DAT_00396e10)" identifier (argument_list "(&DAT_00396e10)" ( (pointer_expression "&DAT_00396e10" & identifier) )))) ;) (if_statement "if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }" { (expression_statement "FUN_001e5500(&DAT_00396e10);" (call_expression "FUN_001e5500(&DAT_00396e10)" identifier (argument_list "(&DAT_00396e10)" ( (pointer_expression "&DAT_00396e10" & identifier) ))) ;) (expression_statement "__cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);" (call_expression "__cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4)" identifier (argument_list "(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4)" ( identifier , (pointer_expression "&PTR_PTR_FUN_0038f394" & identifier) , (pointer_expression "&PTR_LOOP_0038f2e4" & identifier) ))) ;) (return_statement "return &PTR_PTR_FUN_0038f394;" return (pointer_expression "&PTR_PTR_FUN_0038f394" & identifier) ;) })) })) (return_statement "return &PTR_PTR_FUN_0038f394;" return (pointer_expression "&PTR_PTR_FUN_0038f394" & identifier) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* std::iostream_category() */\n\nundefined4 * std::iostream_category(void)\n\n{\n  int iVar1;\n  \n  if (::(anonymous_namespace)::__io_category_instance()::__ec == '\0') {\n    iVar1 = __cxa_guard_acquire(&::(anonymous_namespace)::__io_category_instance()::__ec);\n    if (iVar1 != 0) {\n      __cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::__ec);\n      __cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);\n      return &::(anonymous_namespace)::__io_category_instance()::__ec;\n    }\n  }\n  return &::(anonymous_namespace)::__io_category_instance()::__ec;\n}\n\n" comment comment comment (ERROR "undefined4 * std::" (binary_expression "undefined4 * std" identifier * identifier) : :) (function_definition "iostream_category(void)\n\n{\n  int iVar1;\n  \n  if (::(anonymous_namespace)::__io_category_instance()::__ec == '\0') {\n    iVar1 = __cxa_guard_acquire(&::(anonymous_namespace)::__io_category_instance()::__ec);\n    if (iVar1 != 0) {\n      __cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::__ec);\n      __cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);\n      return &::(anonymous_namespace)::__io_category_instance()::__ec;\n    }\n  }\n  return &::(anonymous_namespace)::__io_category_instance()::__ec;\n}" type_identifier (parenthesized_declarator "(void)" ( identifier )) (compound_statement "{\n  int iVar1;\n  \n  if (::(anonymous_namespace)::__io_category_instance()::__ec == '\0') {\n    iVar1 = __cxa_guard_acquire(&::(anonymous_namespace)::__io_category_instance()::__ec);\n    if (iVar1 != 0) {\n      __cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::__ec);\n      __cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);\n      return &::(anonymous_namespace)::__io_category_instance()::__ec;\n    }\n  }\n  return &::(anonymous_namespace)::__io_category_instance()::__ec;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if (::(anonymous_namespace)::__io_category_instance()::__ec == '\0') {\n    iVar1 = __cxa_guard_acquire(&::(anonymous_namespace)::__io_category_instance()::__ec);\n    if (iVar1 != 0) {\n      __cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::__ec);\n      __cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);\n      return &::(anonymous_namespace)::__io_category_instance()::__ec;\n    }\n  }" if (parenthesized_expression "(::(anonymous_namespace)" ( (ERROR "::(" : : () identifier )) (ERROR "::__io_category_instance()::__ec == '\0')" : : (call_expression "__io_category_instance()" identifier (argument_list "()" ( ))) : : (binary_expression "__ec == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar1 = __cxa_guard_acquire(&::(anonymous_namespace)::__io_category_instance()::__ec);\n    if (iVar1 != 0) {\n      __cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::__ec);\n      __cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);\n      return &::(anonymous_namespace)::__io_category_instance()::__ec;\n    }\n  }" { (ERROR "iVar1 = __cxa_guard_acquire(&::(anonymous_namespace)::__io_category_instance()::" (assignment_expression "iVar1 = __cxa_guard_acquire(&::(anonymous_namespace)" identifier = (call_expression "__cxa_guard_acquire(&::(anonymous_namespace)" identifier (argument_list "(&::(anonymous_namespace)" ( (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier) )))) : : (call_expression "__io_category_instance()" identifier (argument_list "()" ( ))) : :) type_identifier (ERROR ")" )) ; (if_statement "if (iVar1 != 0) {\n      __cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::__ec);\n      __cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);\n      return &::(anonymous_namespace)::__io_category_instance()::__ec;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      __cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::__ec);\n      __cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);\n      return &::(anonymous_namespace)::__io_category_instance()::__ec;\n    }" { (ERROR "__cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::" (call_expression "__cxa_guard_release(&::(anonymous_namespace)" identifier (argument_list "(&::(anonymous_namespace)" ( (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier) ))) : : (call_expression "__io_category_instance()" identifier (argument_list "()" ( ))) : :) type_identifier (ERROR ")" )) ; (labeled_statement "__cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);" statement_identifier (ERROR "(::(anonymous_namespace):" ( : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (labeled_statement "io_error_category::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance()::__ec,&__dso_handle);" statement_identifier (ERROR "::~io_error_category,\n                   &::(anonymous_namespace)::__io_category_instance():" : : (unary_expression "~io_error_category" ~ identifier) , & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) : : (call_expression "__io_category_instance()" identifier (argument_list "()" ( ))) :) : (expression_statement "__ec,&__dso_handle);" (comma_expression "__ec,&__dso_handle" identifier , (pointer_expression "&__dso_handle" & identifier)) (ERROR ")" )) ;))) (return_statement "return &::(anonymous_namespace)::__io_category_instance()::__ec;" return (ERROR "&::(anonymous_namespace)::__io_category_instance()::" (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier) ) : : (call_expression "__io_category_instance()" identifier (argument_list "()" ( ))) : :) identifier ;) })) })) (return_statement "return &::(anonymous_namespace)::__io_category_instance()::__ec;" return (ERROR "&::(anonymous_namespace)::__io_category_instance()::" (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier) ) : : (call_expression "__io_category_instance()" identifier (argument_list "()" ( ))) : :) identifier ;) })))
(translation_unit "undefined ** FUN_00226370(void)\n\n{\n  int iVar1;\n  \n  if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }\n  return &PTR_PTR_FUN_0038f394;\n}\n\n" (function_definition "undefined ** FUN_00226370(void)\n\n{\n  int iVar1;\n  \n  if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }\n  return &PTR_PTR_FUN_0038f394;\n}" type_identifier (pointer_declarator "** FUN_00226370(void)" * (pointer_declarator "* FUN_00226370(void)" * (function_declarator "FUN_00226370(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))))) (compound_statement "{\n  int iVar1;\n  \n  if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }\n  return &PTR_PTR_FUN_0038f394;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }" if (parenthesized_expression "(DAT_00396e10 == '\0')" ( (binary_expression "DAT_00396e10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }" { (expression_statement "iVar1 = FUN_001e5390(&DAT_00396e10);" (assignment_expression "iVar1 = FUN_001e5390(&DAT_00396e10)" identifier = (call_expression "FUN_001e5390(&DAT_00396e10)" identifier (argument_list "(&DAT_00396e10)" ( (pointer_expression "&DAT_00396e10" & identifier) )))) ;) (if_statement "if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }" { (expression_statement "FUN_001e5500(&DAT_00396e10);" (call_expression "FUN_001e5500(&DAT_00396e10)" identifier (argument_list "(&DAT_00396e10)" ( (pointer_expression "&DAT_00396e10" & identifier) ))) ;) (expression_statement "__cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);" (call_expression "__cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4)" identifier (argument_list "(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4)" ( identifier , (pointer_expression "&PTR_PTR_FUN_0038f394" & identifier) , (pointer_expression "&PTR_LOOP_0038f2e4" & identifier) ))) ;) (return_statement "return &PTR_PTR_FUN_0038f394;" return (pointer_expression "&PTR_PTR_FUN_0038f394" & identifier) ;) })) })) (return_statement "return &PTR_PTR_FUN_0038f394;" return (pointer_expression "&PTR_PTR_FUN_0038f394" & identifier) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))))) (compound_statement { (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (return_statement return (pointer_expression & IDENT) ;) })) })) (return_statement return (pointer_expression & IDENT) ;) })))
(function_definition "undefined ** FUN_00226370(void)\n\n{\n  int iVar1;\n  \n  if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }\n  return &PTR_PTR_FUN_0038f394;\n}" (type_identifier "undefined") (pointer_declarator "** FUN_00226370(void)" (* "*") (pointer_declarator "* FUN_00226370(void)" (* "*") (function_declarator "FUN_00226370(void)" (identifier "FUN_00226370") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))))) (compound_statement "{\n  int iVar1;\n  \n  if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }\n  return &PTR_PTR_FUN_0038f394;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (if_statement "if (DAT_00396e10 == '\0') {\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }" (if "if") (parenthesized_expression "(DAT_00396e10 == '\0')" (( "(") (binary_expression "DAT_00396e10 == '\0'" (identifier "DAT_00396e10") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    iVar1 = FUN_001e5390(&DAT_00396e10);\n    if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }\n  }" ({ "{") (expression_statement "iVar1 = FUN_001e5390(&DAT_00396e10);" (assignment_expression "iVar1 = FUN_001e5390(&DAT_00396e10)" (identifier "iVar1") (= "=") (call_expression "FUN_001e5390(&DAT_00396e10)" (identifier "FUN_001e5390") (argument_list "(&DAT_00396e10)" (( "(") (pointer_expression "&DAT_00396e10" (& "&") (identifier "DAT_00396e10")) () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_001e5500(&DAT_00396e10);\n      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);\n      return &PTR_PTR_FUN_0038f394;\n    }" ({ "{") (expression_statement "FUN_001e5500(&DAT_00396e10);" (call_expression "FUN_001e5500(&DAT_00396e10)" (identifier "FUN_001e5500") (argument_list "(&DAT_00396e10)" (( "(") (pointer_expression "&DAT_00396e10" (& "&") (identifier "DAT_00396e10")) () ")"))) (; ";")) (expression_statement "__cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);" (call_expression "__cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4)" (identifier "__cxa_atexit") (argument_list "(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4)" (( "(") (identifier "FUN_002260e0") (, ",") (pointer_expression "&PTR_PTR_FUN_0038f394" (& "&") (identifier "PTR_PTR_FUN_0038f394")) (, ",") (pointer_expression "&PTR_LOOP_0038f2e4" (& "&") (identifier "PTR_LOOP_0038f2e4")) () ")"))) (; ";")) (return_statement "return &PTR_PTR_FUN_0038f394;" (return "return") (pointer_expression "&PTR_PTR_FUN_0038f394" (& "&") (identifier "PTR_PTR_FUN_0038f394")) (; ";")) (} "}"))) (} "}"))) (return_statement "return &PTR_PTR_FUN_0038f394;" (return "return") (pointer_expression "&PTR_PTR_FUN_0038f394" (& "&") (identifier "PTR_PTR_FUN_0038f394")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* std::iostream_category() */

undefined4 * std::type_1(function_1)

{
  int var_1;
  
  if (::(anonymous_namespace)::__io_category_instance()::type_2 == '\0') {
    var_1 = __cxa_guard_acquire(&::(anonymous_namespace)::__io_category_instance()::type_2);
    if (var_1 != 0) {
      __cxa_guard_release(&::(anonymous_namespace)::__io_category_instance()::type_2);
      __cxa_atexit(::(anonymous_namespace)::io_error_category::~io_error_category,
                   &::(anonymous_namespace)::__io_category_instance()::type_2,&__dso_handle);
      return &::(anonymous_namespace)::__io_category_instance()::type_2;
    }
  }
  return &::(anonymous_namespace)::__io_category_instance()::type_2;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (return_statement (pointer_expression argument: (identifier))))))) (return_statement (pointer_expression argument: (identifier))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined ** MASKED(void)

{
  int iVar1;
  
  if (DAT_00396e10 == '\0') {
    iVar1 = FUN_001e5390(&DAT_00396e10);
    if (iVar1 != 0) {
      FUN_001e5500(&DAT_00396e10);
      __cxa_atexit(FUN_002260e0,&PTR_PTR_FUN_0038f394,&PTR_LOOP_0038f2e4);
      return &PTR_PTR_FUN_0038f394;
    }
  }
  return &PTR_PTR_FUN_0038f394;
}

