
MagickBooleanType IsPCL(uchar *magick,size_t length)

{
  if ((3 < length) &&
     ((((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&'))))
  {
    if (((*magick == '\x1b') && (magick[1] == 'E')) && (magick[2] == '\x1b')) {
      return MagickTrue;
    }
    return MagickFalse;
  }
  return MagickFalse;
}



undefined4 FUN_0025f570(char *param_1,uint param_2)

{
  if ((3 < param_2) &&
     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||
      (param_1[3] != '&')))) {
    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {
      return 1;
    }
    return 0;
  }
  return 0;
}


sltiu a1,a1,0x4
bne a1,zero,0x0025f5cc
_li v1,0x1b
lbu v0,0x0(a0)
beq v0,v1,0x0025f5a8
_li v1,0x45
lbu v0,0x0(a0)
li v1,0x1b
beq v0,v1,0x0025f5d4
_li v1,0x45
li v0,0x1
sltiu v0,v0,0x1
jr ra
_nop
lbu a1,0x1(a0)
bne a1,v1,0x0025f588
_nop
lbu v1,0x2(a0)
bne v1,v0,0x0025f588
_li v0,0x26
lbu v1,0x3(a0)
bne v1,v0,0x0025f588
_nop
jr ra
_or v0,zero,zero
lbu a1,0x1(a0)
bne a1,v1,0x0025f598
_nop
lbu v1,0x2(a0)
bne v1,v0,0x0025f598
_nop
or v0,zero,zero
jr ra
_sltiu v0,v0,0x1
(translation_unit "undefined4 FUN_0025f570(char *param_1,uint param_2)\n\n{\n  if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_0025f570(char *param_1,uint param_2)\n\n{\n  if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_0025f570(char *param_1,uint param_2)" identifier (parameter_list "(char *param_1,uint param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" { (if_statement "if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }" if (parenthesized_expression "((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&'))))" ( (binary_expression "(3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))" (parenthesized_expression "(3 < param_2)" ( (binary_expression "3 < param_2" number_literal < identifier) )) && (parenthesized_expression "((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))" ( (parenthesized_expression "(((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&'))" ( (binary_expression "((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')" (parenthesized_expression "((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b'))" ( (binary_expression "(*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')" (parenthesized_expression "(*param_1 != '\x1b' || (param_1[1] != 'E'))" ( (binary_expression "*param_1 != '\x1b' || (param_1[1] != 'E')" (binary_expression "*param_1 != '\x1b'" (pointer_expression "*param_1" * identifier) != (char_literal "'\x1b'" ' escape_sequence ')) || (parenthesized_expression "(param_1[1] != 'E')" ( (binary_expression "param_1[1] != 'E'" (subscript_expression "param_1[1]" identifier [ number_literal ]) != (char_literal "'E'" ' character ')) ))) )) || (parenthesized_expression "(param_1[2] != '\x1b')" ( (binary_expression "param_1[2] != '\x1b'" (subscript_expression "param_1[2]" identifier [ number_literal ]) != (char_literal "'\x1b'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(param_1[3] != '&')" ( (binary_expression "param_1[3] != '&'" (subscript_expression "param_1[3]" identifier [ number_literal ]) != (char_literal "'&'" ' character ')) ))) )) ))) )) (compound_statement "{\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }" { (if_statement "if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }" if (parenthesized_expression "(((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b'))" ( (binary_expression "((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')" (parenthesized_expression "((*param_1 == '\x1b') && (param_1[1] == 'E'))" ( (binary_expression "(*param_1 == '\x1b') && (param_1[1] == 'E')" (parenthesized_expression "(*param_1 == '\x1b')" ( (binary_expression "*param_1 == '\x1b'" (pointer_expression "*param_1" * identifier) == (char_literal "'\x1b'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1[1] == 'E')" ( (binary_expression "param_1[1] == 'E'" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (char_literal "'E'" ' character ')) ))) )) && (parenthesized_expression "(param_1[2] == '\x1b')" ( (binary_expression "param_1[2] == '\x1b'" (subscript_expression "param_1[2]" identifier [ number_literal ]) == (char_literal "'\x1b'" ' escape_sequence ')) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "MagickBooleanType IsPCL(uchar *magick,size_t length)\n\n{\n  if ((3 < length) &&\n     ((((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&'))))\n  {\n    if (((*magick == '\x1b') && (magick[1] == 'E')) && (magick[2] == '\x1b')) {\n      return MagickTrue;\n    }\n    return MagickFalse;\n  }\n  return MagickFalse;\n}\n\n" (function_definition "MagickBooleanType IsPCL(uchar *magick,size_t length)\n\n{\n  if ((3 < length) &&\n     ((((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&'))))\n  {\n    if (((*magick == '\x1b') && (magick[1] == 'E')) && (magick[2] == '\x1b')) {\n      return MagickTrue;\n    }\n    return MagickFalse;\n  }\n  return MagickFalse;\n}" type_identifier (function_declarator "IsPCL(uchar *magick,size_t length)" identifier (parameter_list "(uchar *magick,size_t length)" ( (parameter_declaration "uchar *magick" type_identifier (pointer_declarator "*magick" * identifier)) , (parameter_declaration "size_t length" primitive_type identifier) ))) (compound_statement "{\n  if ((3 < length) &&\n     ((((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&'))))\n  {\n    if (((*magick == '\x1b') && (magick[1] == 'E')) && (magick[2] == '\x1b')) {\n      return MagickTrue;\n    }\n    return MagickFalse;\n  }\n  return MagickFalse;\n}" { (if_statement "if ((3 < length) &&\n     ((((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&'))))\n  {\n    if (((*magick == '\x1b') && (magick[1] == 'E')) && (magick[2] == '\x1b')) {\n      return MagickTrue;\n    }\n    return MagickFalse;\n  }" if (parenthesized_expression "((3 < length) &&\n     ((((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&'))))" ( (binary_expression "(3 < length) &&\n     ((((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&')))" (parenthesized_expression "(3 < length)" ( (binary_expression "3 < length" number_literal < identifier) )) && (parenthesized_expression "((((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&')))" ( (parenthesized_expression "(((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&'))" ( (binary_expression "((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')) || (magick[3] != '&')" (parenthesized_expression "((*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b'))" ( (binary_expression "(*magick != '\x1b' || (magick[1] != 'E')) || (magick[2] != '\x1b')" (parenthesized_expression "(*magick != '\x1b' || (magick[1] != 'E'))" ( (binary_expression "*magick != '\x1b' || (magick[1] != 'E')" (binary_expression "*magick != '\x1b'" (pointer_expression "*magick" * identifier) != (char_literal "'\x1b'" ' escape_sequence ')) || (parenthesized_expression "(magick[1] != 'E')" ( (binary_expression "magick[1] != 'E'" (subscript_expression "magick[1]" identifier [ number_literal ]) != (char_literal "'E'" ' character ')) ))) )) || (parenthesized_expression "(magick[2] != '\x1b')" ( (binary_expression "magick[2] != '\x1b'" (subscript_expression "magick[2]" identifier [ number_literal ]) != (char_literal "'\x1b'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(magick[3] != '&')" ( (binary_expression "magick[3] != '&'" (subscript_expression "magick[3]" identifier [ number_literal ]) != (char_literal "'&'" ' character ')) ))) )) ))) )) (compound_statement "{\n    if (((*magick == '\x1b') && (magick[1] == 'E')) && (magick[2] == '\x1b')) {\n      return MagickTrue;\n    }\n    return MagickFalse;\n  }" { (if_statement "if (((*magick == '\x1b') && (magick[1] == 'E')) && (magick[2] == '\x1b')) {\n      return MagickTrue;\n    }" if (parenthesized_expression "(((*magick == '\x1b') && (magick[1] == 'E')) && (magick[2] == '\x1b'))" ( (binary_expression "((*magick == '\x1b') && (magick[1] == 'E')) && (magick[2] == '\x1b')" (parenthesized_expression "((*magick == '\x1b') && (magick[1] == 'E'))" ( (binary_expression "(*magick == '\x1b') && (magick[1] == 'E')" (parenthesized_expression "(*magick == '\x1b')" ( (binary_expression "*magick == '\x1b'" (pointer_expression "*magick" * identifier) == (char_literal "'\x1b'" ' escape_sequence ')) )) && (parenthesized_expression "(magick[1] == 'E')" ( (binary_expression "magick[1] == 'E'" (subscript_expression "magick[1]" identifier [ number_literal ]) == (char_literal "'E'" ' character ')) ))) )) && (parenthesized_expression "(magick[2] == '\x1b')" ( (binary_expression "magick[2] == '\x1b'" (subscript_expression "magick[2]" identifier [ number_literal ]) == (char_literal "'\x1b'" ' escape_sequence ')) ))) )) (compound_statement "{\n      return MagickTrue;\n    }" { (return_statement "return MagickTrue;" return identifier ;) })) (return_statement "return MagickFalse;" return identifier ;) })) (return_statement "return MagickFalse;" return identifier ;) })))
(translation_unit "undefined4 FUN_0025f570(char *param_1,uint param_2)\n\n{\n  if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_0025f570(char *param_1,uint param_2)\n\n{\n  if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_0025f570(char *param_1,uint param_2)" identifier (parameter_list "(char *param_1,uint param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" { (if_statement "if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }" if (parenthesized_expression "((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&'))))" ( (binary_expression "(3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))" (parenthesized_expression "(3 < param_2)" ( (binary_expression "3 < param_2" number_literal < identifier) )) && (parenthesized_expression "((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))" ( (parenthesized_expression "(((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&'))" ( (binary_expression "((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')" (parenthesized_expression "((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b'))" ( (binary_expression "(*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')" (parenthesized_expression "(*param_1 != '\x1b' || (param_1[1] != 'E'))" ( (binary_expression "*param_1 != '\x1b' || (param_1[1] != 'E')" (binary_expression "*param_1 != '\x1b'" (pointer_expression "*param_1" * identifier) != (char_literal "'\x1b'" ' escape_sequence ')) || (parenthesized_expression "(param_1[1] != 'E')" ( (binary_expression "param_1[1] != 'E'" (subscript_expression "param_1[1]" identifier [ number_literal ]) != (char_literal "'E'" ' character ')) ))) )) || (parenthesized_expression "(param_1[2] != '\x1b')" ( (binary_expression "param_1[2] != '\x1b'" (subscript_expression "param_1[2]" identifier [ number_literal ]) != (char_literal "'\x1b'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(param_1[3] != '&')" ( (binary_expression "param_1[3] != '&'" (subscript_expression "param_1[3]" identifier [ number_literal ]) != (char_literal "'&'" ' character ')) ))) )) ))) )) (compound_statement "{\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }" { (if_statement "if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }" if (parenthesized_expression "(((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b'))" ( (binary_expression "((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')" (parenthesized_expression "((*param_1 == '\x1b') && (param_1[1] == 'E'))" ( (binary_expression "(*param_1 == '\x1b') && (param_1[1] == 'E')" (parenthesized_expression "(*param_1 == '\x1b')" ( (binary_expression "*param_1 == '\x1b'" (pointer_expression "*param_1" * identifier) == (char_literal "'\x1b'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1[1] == 'E')" ( (binary_expression "param_1[1] == 'E'" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (char_literal "'E'" ' character ')) ))) )) && (parenthesized_expression "(param_1[2] == '\x1b')" ( (binary_expression "param_1[2] == '\x1b'" (subscript_expression "param_1[2]" identifier [ number_literal ]) == (char_literal "'\x1b'" ' escape_sequence ')) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (return_statement return LIT ;) })) (return_statement return LIT ;) })) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_0025f570(char *param_1,uint param_2)\n\n{\n  if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_0025f570(char *param_1,uint param_2)" (identifier "FUN_0025f570") (parameter_list "(char *param_1,uint param_2)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) () ")"))) (compound_statement "{\n  if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" ({ "{") (if_statement "if ((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))) {\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }" (if "if") (parenthesized_expression "((3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&'))))" (( "(") (binary_expression "(3 < param_2) &&\n     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))" (parenthesized_expression "(3 < param_2)" (( "(") (binary_expression "3 < param_2" (number_literal "3") (< "<") (identifier "param_2")) () ")")) (&& "&&") (parenthesized_expression "((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')))" (( "(") (parenthesized_expression "(((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&'))" (( "(") (binary_expression "((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||\n      (param_1[3] != '&')" (parenthesized_expression "((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b'))" (( "(") (binary_expression "(*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')" (parenthesized_expression "(*param_1 != '\x1b' || (param_1[1] != 'E'))" (( "(") (binary_expression "*param_1 != '\x1b' || (param_1[1] != 'E')" (binary_expression "*param_1 != '\x1b'" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (!= "!=") (char_literal "'\x1b'" (' "'") (escape_sequence "\x1b") (' "'"))) (|| "||") (parenthesized_expression "(param_1[1] != 'E')" (( "(") (binary_expression "param_1[1] != 'E'" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (!= "!=") (char_literal "'E'" (' "'") (character "E") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(param_1[2] != '\x1b')" (( "(") (binary_expression "param_1[2] != '\x1b'" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (!= "!=") (char_literal "'\x1b'" (' "'") (escape_sequence "\x1b") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(param_1[3] != '&')" (( "(") (binary_expression "param_1[3] != '&'" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (!= "!=") (char_literal "'&'" (' "'") (character "&") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }\n    return 0;\n  }" ({ "{") (if_statement "if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b'))" (( "(") (binary_expression "((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')" (parenthesized_expression "((*param_1 == '\x1b') && (param_1[1] == 'E'))" (( "(") (binary_expression "(*param_1 == '\x1b') && (param_1[1] == 'E')" (parenthesized_expression "(*param_1 == '\x1b')" (( "(") (binary_expression "*param_1 == '\x1b'" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (char_literal "'\x1b'" (' "'") (escape_sequence "\x1b") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[1] == 'E')" (( "(") (binary_expression "param_1[1] == 'E'" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'E'" (' "'") (character "E") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[2] == '\x1b')" (( "(") (binary_expression "param_1[2] == '\x1b'" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (== "==") (char_literal "'\x1b'" (' "'") (escape_sequence "\x1b") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (return_statement (number_literal)))) (return_statement (number_literal)))) (return_statement (number_literal)))))

undefined4 MASKED(char *param_1,uint param_2)

{
  if ((3 < param_2) &&
     ((((*param_1 != '\x1b' || (param_1[1] != 'E')) || (param_1[2] != '\x1b')) ||
      (param_1[3] != '&')))) {
    if (((*param_1 == '\x1b') && (param_1[1] == 'E')) && (param_1[2] == '\x1b')) {
      return 1;
    }
    return 0;
  }
  return 0;
}

