
leaf_optimization __regparm3 leaf_optimization(FTSENT *p,int dir_fd)

{
  fsword fVar1;
  
  fVar1 = filesystem_type(p,dir_fd);
  if (fVar1 != 0x9fa0) {
    if (fVar1 < 0x9fa1) {
      if (fVar1 == 0) {
        return NO_LEAF_OPTIMIZATION;
      }
      if (fVar1 == 0x6969) {
        return NO_LEAF_OPTIMIZATION;
      }
      return (uint)(fVar1 != -0xacb2be);
    }
    if (fVar1 != 0x5346414f) {
      if (fVar1 == 0x58465342) {
        return NOSTAT_LEAF_OPTIMIZATION;
      }
      return (fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION;
    }
  }
  return NO_LEAF_OPTIMIZATION;
}



bool FUN_00016090(void)

{
  int iVar1;
  
  iVar1 = FUN_00015f30();
  if (iVar1 != 0x9fa0) {
    if (iVar1 < 0x9fa1) {
      if (iVar1 == 0) {
        return false;
      }
      if (iVar1 == 0x6969) {
        return false;
      }
      return iVar1 != -0xacb2be;
    }
    if (iVar1 != 0x5346414f) {
      if (iVar1 == 0x58465342) {
        return (bool)2;
      }
      return (bool)((iVar1 == 0x52654973) + '\x01');
    }
  }
  return false;
}


SUB ESP,0xc
CALL 0x00015f30
CMP EAX,0x9fa0
JZ 0x000160f0
MOV EDX,EAX
JLE 0x000160d0
CMP EAX,0x5346414f
JZ 0x000160f0
MOV EAX,0x2
CMP EDX,0x58465342
JZ 0x000160c5
XOR EAX,EAX
CMP EDX,0x52654973
SETZ AL
ADD EAX,0x1
ADD ESP,0xc
RET
XOR EAX,EAX
TEST EDX,EDX
JZ 0x000160c5
CMP EDX,0x6969
JZ 0x000160c5
XOR EAX,EAX
CMP EDX,0xff534d42
SETNZ AL
ADD ESP,0xc
RET
XOR EAX,EAX
JMP 0x000160c5
(translation_unit "bool FUN_00016090(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00015f30();\n  if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }\n  return false;\n}\n\n" (function_definition "bool FUN_00016090(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00015f30();\n  if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }\n  return false;\n}" primitive_type (function_declarator "FUN_00016090(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = FUN_00015f30();\n  if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }\n  return false;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = FUN_00015f30();" (assignment_expression "iVar1 = FUN_00015f30()" identifier = (call_expression "FUN_00015f30()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }" if (parenthesized_expression "(iVar1 != 0x9fa0)" ( (binary_expression "iVar1 != 0x9fa0" identifier != number_literal) )) (compound_statement "{\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }" { (if_statement "if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }" if (parenthesized_expression "(iVar1 < 0x9fa1)" ( (binary_expression "iVar1 < 0x9fa1" identifier < number_literal) )) (compound_statement "{\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }" { (if_statement "if (iVar1 == 0) {\n        return false;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return false;\n      }" { (return_statement "return false;" return false ;) })) (if_statement "if (iVar1 == 0x6969) {\n        return false;\n      }" if (parenthesized_expression "(iVar1 == 0x6969)" ( (binary_expression "iVar1 == 0x6969" identifier == number_literal) )) (compound_statement "{\n        return false;\n      }" { (return_statement "return false;" return false ;) })) (return_statement "return iVar1 != -0xacb2be;" return (binary_expression "iVar1 != -0xacb2be" identifier != number_literal) ;) })) (if_statement "if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }" if (parenthesized_expression "(iVar1 != 0x5346414f)" ( (binary_expression "iVar1 != 0x5346414f" identifier != number_literal) )) (compound_statement "{\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }" { (if_statement "if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }" if (parenthesized_expression "(iVar1 == 0x58465342)" ( (binary_expression "iVar1 == 0x58465342" identifier == number_literal) )) (compound_statement "{\n        return (bool)2;\n      }" { (return_statement "return (bool)2;" return (cast_expression "(bool)2" ( (type_descriptor "bool" primitive_type) ) number_literal) ;) })) (return_statement "return (bool)((iVar1 == 0x52654973) + '\x01');" return (cast_expression "(bool)((iVar1 == 0x52654973) + '\x01')" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "((iVar1 == 0x52654973) + '\x01')" ( (binary_expression "(iVar1 == 0x52654973) + '\x01'" (parenthesized_expression "(iVar1 == 0x52654973)" ( (binary_expression "iVar1 == 0x52654973" identifier == number_literal) )) + (char_literal "'\x01'" ' escape_sequence ')) ))) ;) })) })) (return_statement "return false;" return false ;) })))
(translation_unit "leaf_optimization __regparm3 leaf_optimization(FTSENT *p,int dir_fd)\n\n{\n  fsword fVar1;\n  \n  fVar1 = filesystem_type(p,dir_fd);\n  if (fVar1 != 0x9fa0) {\n    if (fVar1 < 0x9fa1) {\n      if (fVar1 == 0) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      if (fVar1 == 0x6969) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      return (uint)(fVar1 != -0xacb2be);\n    }\n    if (fVar1 != 0x5346414f) {\n      if (fVar1 == 0x58465342) {\n        return NOSTAT_LEAF_OPTIMIZATION;\n      }\n      return (fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION;\n    }\n  }\n  return NO_LEAF_OPTIMIZATION;\n}\n\n" (function_definition "leaf_optimization __regparm3 leaf_optimization(FTSENT *p,int dir_fd)\n\n{\n  fsword fVar1;\n  \n  fVar1 = filesystem_type(p,dir_fd);\n  if (fVar1 != 0x9fa0) {\n    if (fVar1 < 0x9fa1) {\n      if (fVar1 == 0) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      if (fVar1 == 0x6969) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      return (uint)(fVar1 != -0xacb2be);\n    }\n    if (fVar1 != 0x5346414f) {\n      if (fVar1 == 0x58465342) {\n        return NOSTAT_LEAF_OPTIMIZATION;\n      }\n      return (fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION;\n    }\n  }\n  return NO_LEAF_OPTIMIZATION;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "leaf_optimization(FTSENT *p,int dir_fd)" identifier (parameter_list "(FTSENT *p,int dir_fd)" ( (parameter_declaration "FTSENT *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "int dir_fd" primitive_type identifier) ))) (compound_statement "{\n  fsword fVar1;\n  \n  fVar1 = filesystem_type(p,dir_fd);\n  if (fVar1 != 0x9fa0) {\n    if (fVar1 < 0x9fa1) {\n      if (fVar1 == 0) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      if (fVar1 == 0x6969) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      return (uint)(fVar1 != -0xacb2be);\n    }\n    if (fVar1 != 0x5346414f) {\n      if (fVar1 == 0x58465342) {\n        return NOSTAT_LEAF_OPTIMIZATION;\n      }\n      return (fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION;\n    }\n  }\n  return NO_LEAF_OPTIMIZATION;\n}" { (declaration "fsword fVar1;" type_identifier identifier ;) (expression_statement "fVar1 = filesystem_type(p,dir_fd);" (assignment_expression "fVar1 = filesystem_type(p,dir_fd)" identifier = (call_expression "filesystem_type(p,dir_fd)" identifier (argument_list "(p,dir_fd)" ( identifier , identifier )))) ;) (if_statement "if (fVar1 != 0x9fa0) {\n    if (fVar1 < 0x9fa1) {\n      if (fVar1 == 0) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      if (fVar1 == 0x6969) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      return (uint)(fVar1 != -0xacb2be);\n    }\n    if (fVar1 != 0x5346414f) {\n      if (fVar1 == 0x58465342) {\n        return NOSTAT_LEAF_OPTIMIZATION;\n      }\n      return (fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION;\n    }\n  }" if (parenthesized_expression "(fVar1 != 0x9fa0)" ( (binary_expression "fVar1 != 0x9fa0" identifier != number_literal) )) (compound_statement "{\n    if (fVar1 < 0x9fa1) {\n      if (fVar1 == 0) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      if (fVar1 == 0x6969) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      return (uint)(fVar1 != -0xacb2be);\n    }\n    if (fVar1 != 0x5346414f) {\n      if (fVar1 == 0x58465342) {\n        return NOSTAT_LEAF_OPTIMIZATION;\n      }\n      return (fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION;\n    }\n  }" { (if_statement "if (fVar1 < 0x9fa1) {\n      if (fVar1 == 0) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      if (fVar1 == 0x6969) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      return (uint)(fVar1 != -0xacb2be);\n    }" if (parenthesized_expression "(fVar1 < 0x9fa1)" ( (binary_expression "fVar1 < 0x9fa1" identifier < number_literal) )) (compound_statement "{\n      if (fVar1 == 0) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      if (fVar1 == 0x6969) {\n        return NO_LEAF_OPTIMIZATION;\n      }\n      return (uint)(fVar1 != -0xacb2be);\n    }" { (if_statement "if (fVar1 == 0) {\n        return NO_LEAF_OPTIMIZATION;\n      }" if (parenthesized_expression "(fVar1 == 0)" ( (binary_expression "fVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return NO_LEAF_OPTIMIZATION;\n      }" { (return_statement "return NO_LEAF_OPTIMIZATION;" return identifier ;) })) (if_statement "if (fVar1 == 0x6969) {\n        return NO_LEAF_OPTIMIZATION;\n      }" if (parenthesized_expression "(fVar1 == 0x6969)" ( (binary_expression "fVar1 == 0x6969" identifier == number_literal) )) (compound_statement "{\n        return NO_LEAF_OPTIMIZATION;\n      }" { (return_statement "return NO_LEAF_OPTIMIZATION;" return identifier ;) })) (return_statement "return (uint)(fVar1 != -0xacb2be);" return (call_expression "(uint)(fVar1 != -0xacb2be)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(fVar1 != -0xacb2be)" ( (binary_expression "fVar1 != -0xacb2be" identifier != number_literal) ))) ;) })) (if_statement "if (fVar1 != 0x5346414f) {\n      if (fVar1 == 0x58465342) {\n        return NOSTAT_LEAF_OPTIMIZATION;\n      }\n      return (fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION;\n    }" if (parenthesized_expression "(fVar1 != 0x5346414f)" ( (binary_expression "fVar1 != 0x5346414f" identifier != number_literal) )) (compound_statement "{\n      if (fVar1 == 0x58465342) {\n        return NOSTAT_LEAF_OPTIMIZATION;\n      }\n      return (fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION;\n    }" { (if_statement "if (fVar1 == 0x58465342) {\n        return NOSTAT_LEAF_OPTIMIZATION;\n      }" if (parenthesized_expression "(fVar1 == 0x58465342)" ( (binary_expression "fVar1 == 0x58465342" identifier == number_literal) )) (compound_statement "{\n        return NOSTAT_LEAF_OPTIMIZATION;\n      }" { (return_statement "return NOSTAT_LEAF_OPTIMIZATION;" return identifier ;) })) (return_statement "return (fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION;" return (binary_expression "(fVar1 == 0x52654973) + OK_LEAF_OPTIMIZATION" (parenthesized_expression "(fVar1 == 0x52654973)" ( (binary_expression "fVar1 == 0x52654973" identifier == number_literal) )) + identifier) ;) })) })) (return_statement "return NO_LEAF_OPTIMIZATION;" return identifier ;) })))
(translation_unit "bool FUN_00016090(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00015f30();\n  if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }\n  return false;\n}\n\n" (function_definition "bool FUN_00016090(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00015f30();\n  if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }\n  return false;\n}" primitive_type (function_declarator "FUN_00016090(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = FUN_00015f30();\n  if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }\n  return false;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = FUN_00015f30();" (assignment_expression "iVar1 = FUN_00015f30()" identifier = (call_expression "FUN_00015f30()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }" if (parenthesized_expression "(iVar1 != 0x9fa0)" ( (binary_expression "iVar1 != 0x9fa0" identifier != number_literal) )) (compound_statement "{\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }" { (if_statement "if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }" if (parenthesized_expression "(iVar1 < 0x9fa1)" ( (binary_expression "iVar1 < 0x9fa1" identifier < number_literal) )) (compound_statement "{\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }" { (if_statement "if (iVar1 == 0) {\n        return false;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return false;\n      }" { (return_statement "return false;" return false ;) })) (if_statement "if (iVar1 == 0x6969) {\n        return false;\n      }" if (parenthesized_expression "(iVar1 == 0x6969)" ( (binary_expression "iVar1 == 0x6969" identifier == number_literal) )) (compound_statement "{\n        return false;\n      }" { (return_statement "return false;" return false ;) })) (return_statement "return iVar1 != -0xacb2be;" return (binary_expression "iVar1 != -0xacb2be" identifier != number_literal) ;) })) (if_statement "if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }" if (parenthesized_expression "(iVar1 != 0x5346414f)" ( (binary_expression "iVar1 != 0x5346414f" identifier != number_literal) )) (compound_statement "{\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }" { (if_statement "if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }" if (parenthesized_expression "(iVar1 == 0x58465342)" ( (binary_expression "iVar1 == 0x58465342" identifier == number_literal) )) (compound_statement "{\n        return (bool)2;\n      }" { (return_statement "return (bool)2;" return (cast_expression "(bool)2" ( (type_descriptor "bool" primitive_type) ) number_literal) ;) })) (return_statement "return (bool)((iVar1 == 0x52654973) + '\x01');" return (cast_expression "(bool)((iVar1 == 0x52654973) + '\x01')" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "((iVar1 == 0x52654973) + '\x01')" ( (binary_expression "(iVar1 == 0x52654973) + '\x01'" (parenthesized_expression "(iVar1 == 0x52654973)" ( (binary_expression "iVar1 == 0x52654973" identifier == number_literal) )) + (char_literal "'\x01'" ' escape_sequence ')) ))) ;) })) })) (return_statement "return false;" return false ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 BOOL ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return BOOL ;) })) (return_statement return (binary_expression IDENT != LIT) ;) })) (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 (cast_expression ( (type_descriptor TYPE) ) LIT) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) + (char_literal ' escape_sequence ')) ))) ;) })) })) (return_statement return BOOL ;) })))
(function_definition "bool FUN_00016090(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00015f30();\n  if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }\n  return false;\n}" (primitive_type "bool") (function_declarator "FUN_00016090(void)" (identifier "FUN_00016090") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = FUN_00015f30();\n  if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }\n  return false;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (expression_statement "iVar1 = FUN_00015f30();" (assignment_expression "iVar1 = FUN_00015f30()" (identifier "iVar1") (= "=") (call_expression "FUN_00015f30()" (identifier "FUN_00015f30") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar1 != 0x9fa0) {\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }" (if "if") (parenthesized_expression "(iVar1 != 0x9fa0)" (( "(") (binary_expression "iVar1 != 0x9fa0" (identifier "iVar1") (!= "!=") (number_literal "0x9fa0")) () ")")) (compound_statement "{\n    if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }\n    if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }\n  }" ({ "{") (if_statement "if (iVar1 < 0x9fa1) {\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }" (if "if") (parenthesized_expression "(iVar1 < 0x9fa1)" (( "(") (binary_expression "iVar1 < 0x9fa1" (identifier "iVar1") (< "<") (number_literal "0x9fa1")) () ")")) (compound_statement "{\n      if (iVar1 == 0) {\n        return false;\n      }\n      if (iVar1 == 0x6969) {\n        return false;\n      }\n      return iVar1 != -0xacb2be;\n    }" ({ "{") (if_statement "if (iVar1 == 0) {\n        return false;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return false;\n      }" ({ "{") (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (if_statement "if (iVar1 == 0x6969) {\n        return false;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0x6969)" (( "(") (binary_expression "iVar1 == 0x6969" (identifier "iVar1") (== "==") (number_literal "0x6969")) () ")")) (compound_statement "{\n        return false;\n      }" ({ "{") (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (return_statement "return iVar1 != -0xacb2be;" (return "return") (binary_expression "iVar1 != -0xacb2be" (identifier "iVar1") (!= "!=") (number_literal "-0xacb2be")) (; ";")) (} "}"))) (if_statement "if (iVar1 != 0x5346414f) {\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }" (if "if") (parenthesized_expression "(iVar1 != 0x5346414f)" (( "(") (binary_expression "iVar1 != 0x5346414f" (identifier "iVar1") (!= "!=") (number_literal "0x5346414f")) () ")")) (compound_statement "{\n      if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }\n      return (bool)((iVar1 == 0x52654973) + '\x01');\n    }" ({ "{") (if_statement "if (iVar1 == 0x58465342) {\n        return (bool)2;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0x58465342)" (( "(") (binary_expression "iVar1 == 0x58465342" (identifier "iVar1") (== "==") (number_literal "0x58465342")) () ")")) (compound_statement "{\n        return (bool)2;\n      }" ({ "{") (return_statement "return (bool)2;" (return "return") (cast_expression "(bool)2" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (number_literal "2")) (; ";")) (} "}"))) (return_statement "return (bool)((iVar1 == 0x52654973) + '\x01');" (return "return") (cast_expression "(bool)((iVar1 == 0x52654973) + '\x01')" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "((iVar1 == 0x52654973) + '\x01')" (( "(") (binary_expression "(iVar1 == 0x52654973) + '\x01'" (parenthesized_expression "(iVar1 == 0x52654973)" (( "(") (binary_expression "iVar1 == 0x52654973" (identifier "iVar1") (== "==") (number_literal "0x52654973")) () ")")) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) (; ";")) (} "}"))) (} "}"))) (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}")))

type_1 __regparm3 type_1(type_2 *p,int dir_fd)

{
  type_3 var_2;
  
  var_2 = var_1(p,dir_fd);
  if (var_2 != 0x9fa0) {
    if (var_2 < 0x9fa1) {
      if (var_2 == 0) {
        return NO_LEAF_OPTIMIZATION;
      }
      if (var_2 == 0x6969) {
        return NO_LEAF_OPTIMIZATION;
      }
      return (uint)(var_2 != -0xacb2be);
    }
    if (var_2 != 0x5346414f) {
      if (var_2 == 0x58465342) {
        return NOSTAT_LEAF_OPTIMIZATION;
      }
      return (var_2 == 0x52654973) + var_3;
    }
  }
  return NO_LEAF_OPTIMIZATION;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (false)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (false)))) (return_statement (binary_expression left: (identifier) right: (number_literal))))) (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 (cast_expression type: (type_descriptor type: (primitive_type)) value: (number_literal))))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (char_literal (escape_sequence)))))))))) (return_statement (false)))))

bool MASKED(void)

{
  int iVar1;
  
  iVar1 = FUN_00015f30();
  if (iVar1 != 0x9fa0) {
    if (iVar1 < 0x9fa1) {
      if (iVar1 == 0) {
        return false;
      }
      if (iVar1 == 0x6969) {
        return false;
      }
      return iVar1 != -0xacb2be;
    }
    if (iVar1 != 0x5346414f) {
      if (iVar1 == 0x58465342) {
        return (bool)2;
      }
      return (bool)((iVar1 == 0x52654973) + '\x01');
    }
  }
  return false;
}

