
void unset_bash_input(int check_zero)

{
  if (check_zero == 0) {
    if (default_buffered_input < 1) {
      return;
    }
  }
  else if (default_buffered_input < 0) {
    return;
  }
  close_buffered_fd(default_buffered_input);
  bash_input.location.buffered_fd = -1;
  default_buffered_input = -1;
  bash_input.type = st_none;
  return;
}



void unset_bash_input(int param_1)

{
  if (param_1 == 0) {
    if (default_buffered_input < 1) {
      return;
    }
  }
  else if (default_buffered_input < 0) {
    return;
  }
  close_buffered_fd(default_buffered_input);
  DAT_00217950._0_4_ = 0xffffffff;
  default_buffered_input = 0xffffffff;
  bash_input = 0;
  return;
}


TEST EDI,EDI
JZ 0x0012e7f2
CMP dword ptr [0x0020a700],0x0
JS 0x0012e7f1
SUB RSP,0x8
MOV EDI,dword ptr [0x0020a700]
CALL 0x00170626
MOV dword ptr [0x00217950],0xffffffff
MOV dword ptr [0x0020a700],0xffffffff
MOV dword ptr [0x00217940],0x0
ADD RSP,0x8
RET
RET
CMP dword ptr [0x0020a700],0x0
JG 0x0012e7bf
RET
(translation_unit "void unset_bash_input(int param_1)\n\n{\n  if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  DAT_00217950._0_4_ = 0xffffffff;\n  default_buffered_input = 0xffffffff;\n  bash_input = 0;\n  return;\n}\n\n" (function_definition "void unset_bash_input(int param_1)\n\n{\n  if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  DAT_00217950._0_4_ = 0xffffffff;\n  default_buffered_input = 0xffffffff;\n  bash_input = 0;\n  return;\n}" primitive_type (function_declarator "unset_bash_input(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  DAT_00217950._0_4_ = 0xffffffff;\n  default_buffered_input = 0xffffffff;\n  bash_input = 0;\n  return;\n}" { (if_statement "if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }" { (if_statement "if (default_buffered_input < 1) {\n      return;\n    }" if (parenthesized_expression "(default_buffered_input < 1)" ( (binary_expression "default_buffered_input < 1" identifier < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else if (default_buffered_input < 0) {\n    return;\n  }" else (if_statement "if (default_buffered_input < 0) {\n    return;\n  }" if (parenthesized_expression "(default_buffered_input < 0)" ( (binary_expression "default_buffered_input < 0" identifier < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })))) (expression_statement "close_buffered_fd(default_buffered_input);" (call_expression "close_buffered_fd(default_buffered_input)" identifier (argument_list "(default_buffered_input)" ( identifier ))) ;) (expression_statement "DAT_00217950._0_4_ = 0xffffffff;" (assignment_expression "DAT_00217950._0_4_ = 0xffffffff" (field_expression "DAT_00217950._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "default_buffered_input = 0xffffffff;" (assignment_expression "default_buffered_input = 0xffffffff" identifier = number_literal) ;) (expression_statement "bash_input = 0;" (assignment_expression "bash_input = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void unset_bash_input(int check_zero)\n\n{\n  if (check_zero == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  bash_input.location.buffered_fd = -1;\n  default_buffered_input = -1;\n  bash_input.type = st_none;\n  return;\n}\n\n" (function_definition "void unset_bash_input(int check_zero)\n\n{\n  if (check_zero == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  bash_input.location.buffered_fd = -1;\n  default_buffered_input = -1;\n  bash_input.type = st_none;\n  return;\n}" primitive_type (function_declarator "unset_bash_input(int check_zero)" identifier (parameter_list "(int check_zero)" ( (parameter_declaration "int check_zero" primitive_type identifier) ))) (compound_statement "{\n  if (check_zero == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  bash_input.location.buffered_fd = -1;\n  default_buffered_input = -1;\n  bash_input.type = st_none;\n  return;\n}" { (if_statement "if (check_zero == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }" if (parenthesized_expression "(check_zero == 0)" ( (binary_expression "check_zero == 0" identifier == number_literal) )) (compound_statement "{\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }" { (if_statement "if (default_buffered_input < 1) {\n      return;\n    }" if (parenthesized_expression "(default_buffered_input < 1)" ( (binary_expression "default_buffered_input < 1" identifier < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else if (default_buffered_input < 0) {\n    return;\n  }" else (if_statement "if (default_buffered_input < 0) {\n    return;\n  }" if (parenthesized_expression "(default_buffered_input < 0)" ( (binary_expression "default_buffered_input < 0" identifier < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })))) (expression_statement "close_buffered_fd(default_buffered_input);" (call_expression "close_buffered_fd(default_buffered_input)" identifier (argument_list "(default_buffered_input)" ( identifier ))) ;) (expression_statement "bash_input.location.buffered_fd = -1;" (assignment_expression "bash_input.location.buffered_fd = -1" (field_expression "bash_input.location.buffered_fd" (field_expression "bash_input.location" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "default_buffered_input = -1;" (assignment_expression "default_buffered_input = -1" identifier = number_literal) ;) (expression_statement "bash_input.type = st_none;" (assignment_expression "bash_input.type = st_none" (field_expression "bash_input.type" identifier . field_identifier) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void unset_bash_input(int param_1)\n\n{\n  if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  DAT_00217950._0_4_ = 0xffffffff;\n  default_buffered_input = 0xffffffff;\n  bash_input = 0;\n  return;\n}\n\n" (function_definition "void unset_bash_input(int param_1)\n\n{\n  if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  DAT_00217950._0_4_ = 0xffffffff;\n  default_buffered_input = 0xffffffff;\n  bash_input = 0;\n  return;\n}" primitive_type (function_declarator "unset_bash_input(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  DAT_00217950._0_4_ = 0xffffffff;\n  default_buffered_input = 0xffffffff;\n  bash_input = 0;\n  return;\n}" { (if_statement "if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }" { (if_statement "if (default_buffered_input < 1) {\n      return;\n    }" if (parenthesized_expression "(default_buffered_input < 1)" ( (binary_expression "default_buffered_input < 1" identifier < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else if (default_buffered_input < 0) {\n    return;\n  }" else (if_statement "if (default_buffered_input < 0) {\n    return;\n  }" if (parenthesized_expression "(default_buffered_input < 0)" ( (binary_expression "default_buffered_input < 0" identifier < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })))) (expression_statement "close_buffered_fd(default_buffered_input);" (call_expression "close_buffered_fd(default_buffered_input)" identifier (argument_list "(default_buffered_input)" ( identifier ))) ;) (expression_statement "DAT_00217950._0_4_ = 0xffffffff;" (assignment_expression "DAT_00217950._0_4_ = 0xffffffff" (field_expression "DAT_00217950._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "default_buffered_input = 0xffffffff;" (assignment_expression "default_buffered_input = 0xffffffff" identifier = number_literal) ;) (expression_statement "bash_input = 0;" (assignment_expression "bash_input = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return ;) })))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return ;) })))
(function_definition "void unset_bash_input(int param_1)\n\n{\n  if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  DAT_00217950._0_4_ = 0xffffffff;\n  default_buffered_input = 0xffffffff;\n  bash_input = 0;\n  return;\n}" (primitive_type "void") (function_declarator "unset_bash_input(int param_1)" (identifier "unset_bash_input") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }\n  close_buffered_fd(default_buffered_input);\n  DAT_00217950._0_4_ = 0xffffffff;\n  default_buffered_input = 0xffffffff;\n  bash_input = 0;\n  return;\n}" ({ "{") (if_statement "if (param_1 == 0) {\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }\n  else if (default_buffered_input < 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (default_buffered_input < 1) {\n      return;\n    }\n  }" ({ "{") (if_statement "if (default_buffered_input < 1) {\n      return;\n    }" (if "if") (parenthesized_expression "(default_buffered_input < 1)" (( "(") (binary_expression "default_buffered_input < 1" (identifier "default_buffered_input") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (default_buffered_input < 0) {\n    return;\n  }" (else "else") (if_statement "if (default_buffered_input < 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(default_buffered_input < 0)" (( "(") (binary_expression "default_buffered_input < 0" (identifier "default_buffered_input") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))))) (expression_statement "close_buffered_fd(default_buffered_input);" (call_expression "close_buffered_fd(default_buffered_input)" (identifier "close_buffered_fd") (argument_list "(default_buffered_input)" (( "(") (identifier "default_buffered_input") () ")"))) (; ";")) (expression_statement "DAT_00217950._0_4_ = 0xffffffff;" (assignment_expression "DAT_00217950._0_4_ = 0xffffffff" (field_expression "DAT_00217950._0_4_" (identifier "DAT_00217950") (. ".") (field_identifier "_0_4_")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "default_buffered_input = 0xffffffff;" (assignment_expression "default_buffered_input = 0xffffffff" (identifier "default_buffered_input") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "bash_input = 0;" (assignment_expression "bash_input = 0" (identifier "bash_input") (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(int var_1)

{
  if (var_1 == 0) {
    if (var_2 < 1) {
      return;
    }
  }
  else if (var_2 < 0) {
    return;
  }
  var_3(var_2);
  bash_input.location.buffered_fd = -1;
  var_2 = -1;
  bash_input.type = st_none;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (return_statement))))

void MASKED(int param_1)

{
  if (param_1 == 0) {
    if (default_buffered_input < 1) {
      return;
    }
  }
  else if (default_buffered_input < 0) {
    return;
  }
  close_buffered_fd(default_buffered_input);
  DAT_00217950._0_4_ = 0xffffffff;
  default_buffered_input = 0xffffffff;
  bash_input = 0;
  return;
}

