
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

char * shell_version_string(void)

{
  if (tt_3274 != '\0') {
    return &tt_3274;
  }
  shell_version_string();
  return &tt_3274;
}



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

undefined1 * shell_version_string(void)

{
  if (DAT_001513a0 != '\0') {
    return &DAT_001513a0;
  }
  FUN_00080f00();
  return &DAT_001513a0;
}


PUSH EBX
CALL 0x00031ed0
ADD EBX,0xc90ba
SUB ESP,0x8
CMP byte ptr [EBX + 0x73a0],0x0
JZ 0x00080f68
ADD ESP,0x8
LEA EAX,[EBX + 0x73a0]
POP EBX
RET
CALL 0x00080f00
ADD ESP,0x8
LEA EAX,[EBX + 0x73a0]
POP EBX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined1 * shell_version_string(void)\n\n{\n  if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }\n  FUN_00080f00();\n  return &DAT_001513a0;\n}\n\n" comment (function_definition "undefined1 * shell_version_string(void)\n\n{\n  if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }\n  FUN_00080f00();\n  return &DAT_001513a0;\n}" type_identifier (pointer_declarator "* shell_version_string(void)" * (function_declarator "shell_version_string(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }\n  FUN_00080f00();\n  return &DAT_001513a0;\n}" { (if_statement "if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }" if (parenthesized_expression "(DAT_001513a0 != '\0')" ( (binary_expression "DAT_001513a0 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return &DAT_001513a0;\n  }" { (return_statement "return &DAT_001513a0;" return (pointer_expression "&DAT_001513a0" & identifier) ;) })) (expression_statement "FUN_00080f00();" (call_expression "FUN_00080f00()" identifier (argument_list "()" ( ))) ;) (return_statement "return &DAT_001513a0;" return (pointer_expression "&DAT_001513a0" & identifier) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nchar * shell_version_string(void)\n\n{\n  if (tt_3274 != '\0') {\n    return &tt_3274;\n  }\n  shell_version_string();\n  return &tt_3274;\n}\n\n" comment comment (function_definition "char * shell_version_string(void)\n\n{\n  if (tt_3274 != '\0') {\n    return &tt_3274;\n  }\n  shell_version_string();\n  return &tt_3274;\n}" primitive_type (pointer_declarator "* shell_version_string(void)" * (function_declarator "shell_version_string(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  if (tt_3274 != '\0') {\n    return &tt_3274;\n  }\n  shell_version_string();\n  return &tt_3274;\n}" { (if_statement "if (tt_3274 != '\0') {\n    return &tt_3274;\n  }" if (parenthesized_expression "(tt_3274 != '\0')" ( (binary_expression "tt_3274 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return &tt_3274;\n  }" { (return_statement "return &tt_3274;" return (pointer_expression "&tt_3274" & identifier) ;) })) (expression_statement "shell_version_string();" (call_expression "shell_version_string()" identifier (argument_list "()" ( ))) ;) (return_statement "return &tt_3274;" return (pointer_expression "&tt_3274" & identifier) ;) })))
(translation_unit "undefined1 * shell_version_string(void)\n\n{\n  if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }\n  FUN_00080f00();\n  return &DAT_001513a0;\n}\n\n" (function_definition "undefined1 * shell_version_string(void)\n\n{\n  if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }\n  FUN_00080f00();\n  return &DAT_001513a0;\n}" type_identifier (pointer_declarator "* shell_version_string(void)" * (function_declarator "shell_version_string(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }\n  FUN_00080f00();\n  return &DAT_001513a0;\n}" { (if_statement "if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }" if (parenthesized_expression "(DAT_001513a0 != '\0')" ( (binary_expression "DAT_001513a0 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return &DAT_001513a0;\n  }" { (return_statement "return &DAT_001513a0;" return (pointer_expression "&DAT_001513a0" & identifier) ;) })) (expression_statement "FUN_00080f00();" (call_expression "FUN_00080f00()" identifier (argument_list "()" ( ))) ;) (return_statement "return &DAT_001513a0;" return (pointer_expression "&DAT_001513a0" & identifier) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) )))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return (pointer_expression & IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return (pointer_expression & IDENT) ;) })))
(function_definition "undefined1 * shell_version_string(void)\n\n{\n  if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }\n  FUN_00080f00();\n  return &DAT_001513a0;\n}" (type_identifier "undefined1") (pointer_declarator "* shell_version_string(void)" (* "*") (function_declarator "shell_version_string(void)" (identifier "shell_version_string") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")")))) (compound_statement "{\n  if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }\n  FUN_00080f00();\n  return &DAT_001513a0;\n}" ({ "{") (if_statement "if (DAT_001513a0 != '\0') {\n    return &DAT_001513a0;\n  }" (if "if") (parenthesized_expression "(DAT_001513a0 != '\0')" (( "(") (binary_expression "DAT_001513a0 != '\0'" (identifier "DAT_001513a0") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return &DAT_001513a0;\n  }" ({ "{") (return_statement "return &DAT_001513a0;" (return "return") (pointer_expression "&DAT_001513a0" (& "&") (identifier "DAT_001513a0")) (; ";")) (} "}"))) (expression_statement "FUN_00080f00();" (call_expression "FUN_00080f00()" (identifier "FUN_00080f00") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return &DAT_001513a0;" (return "return") (pointer_expression "&DAT_001513a0" (& "&") (identifier "DAT_001513a0")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

char * function_1(void)

{
  if (var_1 != '\0') {
    return &var_1;
  }
  function_1();
  return &var_1;
}


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

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

undefined1 * MASKED(void)

{
  if (DAT_001513a0 != '\0') {
    return &DAT_001513a0;
  }
  FUN_00080f00();
  return &DAT_001513a0;
}

