
/* WARNING: Unknown calling convention */

bfd_boolean match_simple_wild(char *pattern,char *name)

{
  char *pcVar1;
  char *pcVar2;
  long lVar3;
  
  if ((((*pattern == *name) && (pattern[1] == name[1])) && (pattern[2] == name[2])) &&
     (pattern[3] == name[3])) {
    lVar3 = 4;
    do {
      pcVar2 = pattern + lVar3;
      if (*pcVar2 == '*') {
        return 1;
      }
      pcVar1 = name + lVar3;
      lVar3 = lVar3 + 1;
    } while (*pcVar1 == *pcVar2);
    return 0;
  }
  return 0;
}



undefined8 FUN_001173f0(char *param_1,char *param_2)

{
  char *pcVar1;
  char *pcVar2;
  long lVar3;
  
  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&
     (param_1[3] == param_2[3])) {
    lVar3 = 4;
    do {
      pcVar2 = param_1 + lVar3;
      if (*pcVar2 == '*') {
        return 1;
      }
      pcVar1 = param_2 + lVar3;
      lVar3 = lVar3 + 1;
    } while (*pcVar1 == *pcVar2);
    return 0;
  }
  return 0;
}


XOR EAX,EAX
MOVZX ECX,byte ptr [RSI]
CMP byte ptr [RDI],CL
JNZ 0x00117402
MOVZX EDX,byte ptr [RSI + 0x1]
CMP byte ptr [RDI + 0x1],DL
JZ 0x00117408
RET
MOVZX EDX,byte ptr [RSI + 0x2]
CMP byte ptr [RDI + 0x2],DL
JNZ 0x00117402
MOVZX ECX,byte ptr [RSI + 0x3]
CMP byte ptr [RDI + 0x3],CL
JNZ 0x00117402
MOV EAX,0x4
JMP 0x00117434
MOVZX ECX,byte ptr [RSI + RAX*0x1]
ADD RAX,0x1
CMP CL,DL
JNZ 0x00117448
MOVZX EDX,byte ptr [RDI + RAX*0x1]
CMP DL,0x2a
JNZ 0x00117428
MOV EAX,0x1
RET
XOR EAX,EAX
RET
(translation_unit "undefined8 FUN_001173f0(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}\n\n" (function_definition "undefined8 FUN_001173f0(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_001173f0(char *param_1,char *param_2)" identifier (parameter_list "(char *param_1,char *param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (if_statement "if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }" if (parenthesized_expression "((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3]))" ( (binary_expression "(((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])" (parenthesized_expression "(((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2]))" ( (binary_expression "((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])" (parenthesized_expression "((*param_1 == *param_2) && (param_1[1] == param_2[1]))" ( (binary_expression "(*param_1 == *param_2) && (param_1[1] == param_2[1])" (parenthesized_expression "(*param_1 == *param_2)" ( (binary_expression "*param_1 == *param_2" (pointer_expression "*param_1" * identifier) == (pointer_expression "*param_2" * identifier)) )) && (parenthesized_expression "(param_1[1] == param_2[1])" ( (binary_expression "param_1[1] == param_2[1]" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (subscript_expression "param_2[1]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(param_1[2] == param_2[2])" ( (binary_expression "param_1[2] == param_2[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) == (subscript_expression "param_2[2]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(param_1[3] == param_2[3])" ( (binary_expression "param_1[3] == param_2[3]" (subscript_expression "param_1[3]" identifier [ number_literal ]) == (subscript_expression "param_2[3]" identifier [ number_literal ])) ))) )) (compound_statement "{\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }" { (expression_statement "lVar3 = 4;" (assignment_expression "lVar3 = 4" identifier = number_literal) ;) (do_statement "do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);" do (compound_statement "{\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    }" { (expression_statement "pcVar2 = param_1 + lVar3;" (assignment_expression "pcVar2 = param_1 + lVar3" identifier = (binary_expression "param_1 + lVar3" identifier + identifier)) ;) (if_statement "if (*pcVar2 == '*') {\n        return 1;\n      }" if (parenthesized_expression "(*pcVar2 == '*')" ( (binary_expression "*pcVar2 == '*'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'*'" ' character ')) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar1 = param_2 + lVar3;" (assignment_expression "pcVar1 = param_2 + lVar3" identifier = (binary_expression "param_2 + lVar3" identifier + identifier)) ;) (expression_statement "lVar3 = lVar3 + 1;" (assignment_expression "lVar3 = lVar3 + 1" identifier = (binary_expression "lVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pcVar1 == *pcVar2)" ( (binary_expression "*pcVar1 == *pcVar2" (pointer_expression "*pcVar1" * identifier) == (pointer_expression "*pcVar2" * identifier)) )) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nbfd_boolean match_simple_wild(char *pattern,char *name)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*pattern == *name) && (pattern[1] == name[1])) && (pattern[2] == name[2])) &&\n     (pattern[3] == name[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = pattern + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = name + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}\n\n" comment (function_definition "bfd_boolean match_simple_wild(char *pattern,char *name)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*pattern == *name) && (pattern[1] == name[1])) && (pattern[2] == name[2])) &&\n     (pattern[3] == name[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = pattern + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = name + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "match_simple_wild(char *pattern,char *name)" identifier (parameter_list "(char *pattern,char *name)" ( (parameter_declaration "char *pattern" primitive_type (pointer_declarator "*pattern" * identifier)) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*pattern == *name) && (pattern[1] == name[1])) && (pattern[2] == name[2])) &&\n     (pattern[3] == name[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = pattern + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = name + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (if_statement "if ((((*pattern == *name) && (pattern[1] == name[1])) && (pattern[2] == name[2])) &&\n     (pattern[3] == name[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = pattern + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = name + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }" if (parenthesized_expression "((((*pattern == *name) && (pattern[1] == name[1])) && (pattern[2] == name[2])) &&\n     (pattern[3] == name[3]))" ( (binary_expression "(((*pattern == *name) && (pattern[1] == name[1])) && (pattern[2] == name[2])) &&\n     (pattern[3] == name[3])" (parenthesized_expression "(((*pattern == *name) && (pattern[1] == name[1])) && (pattern[2] == name[2]))" ( (binary_expression "((*pattern == *name) && (pattern[1] == name[1])) && (pattern[2] == name[2])" (parenthesized_expression "((*pattern == *name) && (pattern[1] == name[1]))" ( (binary_expression "(*pattern == *name) && (pattern[1] == name[1])" (parenthesized_expression "(*pattern == *name)" ( (binary_expression "*pattern == *name" (pointer_expression "*pattern" * identifier) == (pointer_expression "*name" * identifier)) )) && (parenthesized_expression "(pattern[1] == name[1])" ( (binary_expression "pattern[1] == name[1]" (subscript_expression "pattern[1]" identifier [ number_literal ]) == (subscript_expression "name[1]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(pattern[2] == name[2])" ( (binary_expression "pattern[2] == name[2]" (subscript_expression "pattern[2]" identifier [ number_literal ]) == (subscript_expression "name[2]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(pattern[3] == name[3])" ( (binary_expression "pattern[3] == name[3]" (subscript_expression "pattern[3]" identifier [ number_literal ]) == (subscript_expression "name[3]" identifier [ number_literal ])) ))) )) (compound_statement "{\n    lVar3 = 4;\n    do {\n      pcVar2 = pattern + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = name + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }" { (expression_statement "lVar3 = 4;" (assignment_expression "lVar3 = 4" identifier = number_literal) ;) (do_statement "do {\n      pcVar2 = pattern + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = name + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);" do (compound_statement "{\n      pcVar2 = pattern + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = name + lVar3;\n      lVar3 = lVar3 + 1;\n    }" { (expression_statement "pcVar2 = pattern + lVar3;" (assignment_expression "pcVar2 = pattern + lVar3" identifier = (binary_expression "pattern + lVar3" identifier + identifier)) ;) (if_statement "if (*pcVar2 == '*') {\n        return 1;\n      }" if (parenthesized_expression "(*pcVar2 == '*')" ( (binary_expression "*pcVar2 == '*'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'*'" ' character ')) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar1 = name + lVar3;" (assignment_expression "pcVar1 = name + lVar3" identifier = (binary_expression "name + lVar3" identifier + identifier)) ;) (expression_statement "lVar3 = lVar3 + 1;" (assignment_expression "lVar3 = lVar3 + 1" identifier = (binary_expression "lVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pcVar1 == *pcVar2)" ( (binary_expression "*pcVar1 == *pcVar2" (pointer_expression "*pcVar1" * identifier) == (pointer_expression "*pcVar2" * identifier)) )) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "undefined8 FUN_001173f0(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}\n\n" (function_definition "undefined8 FUN_001173f0(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_001173f0(char *param_1,char *param_2)" identifier (parameter_list "(char *param_1,char *param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (if_statement "if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }" if (parenthesized_expression "((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3]))" ( (binary_expression "(((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])" (parenthesized_expression "(((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2]))" ( (binary_expression "((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])" (parenthesized_expression "((*param_1 == *param_2) && (param_1[1] == param_2[1]))" ( (binary_expression "(*param_1 == *param_2) && (param_1[1] == param_2[1])" (parenthesized_expression "(*param_1 == *param_2)" ( (binary_expression "*param_1 == *param_2" (pointer_expression "*param_1" * identifier) == (pointer_expression "*param_2" * identifier)) )) && (parenthesized_expression "(param_1[1] == param_2[1])" ( (binary_expression "param_1[1] == param_2[1]" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (subscript_expression "param_2[1]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(param_1[2] == param_2[2])" ( (binary_expression "param_1[2] == param_2[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) == (subscript_expression "param_2[2]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(param_1[3] == param_2[3])" ( (binary_expression "param_1[3] == param_2[3]" (subscript_expression "param_1[3]" identifier [ number_literal ]) == (subscript_expression "param_2[3]" identifier [ number_literal ])) ))) )) (compound_statement "{\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }" { (expression_statement "lVar3 = 4;" (assignment_expression "lVar3 = 4" identifier = number_literal) ;) (do_statement "do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);" do (compound_statement "{\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    }" { (expression_statement "pcVar2 = param_1 + lVar3;" (assignment_expression "pcVar2 = param_1 + lVar3" identifier = (binary_expression "param_1 + lVar3" identifier + identifier)) ;) (if_statement "if (*pcVar2 == '*') {\n        return 1;\n      }" if (parenthesized_expression "(*pcVar2 == '*')" ( (binary_expression "*pcVar2 == '*'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'*'" ' character ')) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar1 = param_2 + lVar3;" (assignment_expression "pcVar1 = param_2 + lVar3" identifier = (binary_expression "param_2 + lVar3" identifier + identifier)) ;) (expression_statement "lVar3 = lVar3 + 1;" (assignment_expression "lVar3 = lVar3 + 1" identifier = (binary_expression "lVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pcVar1 == *pcVar2)" ( (binary_expression "*pcVar1 == *pcVar2" (pointer_expression "*pcVar1" * identifier) == (pointer_expression "*pcVar2" * identifier)) )) ;) (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 (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })))
(function_definition "undefined8 FUN_001173f0(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}" (type_identifier "undefined8") (function_declarator "FUN_001173f0(char *param_1,char *param_2)" (identifier "FUN_001173f0") (parameter_list "(char *param_1,char *param_2)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  long lVar3;\n  \n  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }\n  return 0;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (if_statement "if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])) {\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }" (if "if") (parenthesized_expression "((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3]))" (( "(") (binary_expression "(((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&\n     (param_1[3] == param_2[3])" (parenthesized_expression "(((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2]))" (( "(") (binary_expression "((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])" (parenthesized_expression "((*param_1 == *param_2) && (param_1[1] == param_2[1]))" (( "(") (binary_expression "(*param_1 == *param_2) && (param_1[1] == param_2[1])" (parenthesized_expression "(*param_1 == *param_2)" (( "(") (binary_expression "*param_1 == *param_2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[1] == param_2[1])" (( "(") (binary_expression "param_1[1] == param_2[1]" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[2] == param_2[2])" (( "(") (binary_expression "param_1[2] == param_2[2]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (== "==") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[3] == param_2[3])" (( "(") (binary_expression "param_1[3] == param_2[3]" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (== "==") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) () ")"))) () ")")) (compound_statement "{\n    lVar3 = 4;\n    do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);\n    return 0;\n  }" ({ "{") (expression_statement "lVar3 = 4;" (assignment_expression "lVar3 = 4" (identifier "lVar3") (= "=") (number_literal "4")) (; ";")) (do_statement "do {\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    } while (*pcVar1 == *pcVar2);" (do "do") (compound_statement "{\n      pcVar2 = param_1 + lVar3;\n      if (*pcVar2 == '*') {\n        return 1;\n      }\n      pcVar1 = param_2 + lVar3;\n      lVar3 = lVar3 + 1;\n    }" ({ "{") (expression_statement "pcVar2 = param_1 + lVar3;" (assignment_expression "pcVar2 = param_1 + lVar3" (identifier "pcVar2") (= "=") (binary_expression "param_1 + lVar3" (identifier "param_1") (+ "+") (identifier "lVar3"))) (; ";")) (if_statement "if (*pcVar2 == '*') {\n        return 1;\n      }" (if "if") (parenthesized_expression "(*pcVar2 == '*')" (( "(") (binary_expression "*pcVar2 == '*'" (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) (== "==") (char_literal "'*'" (' "'") (character "*") (' "'"))) () ")")) (compound_statement "{\n        return 1;\n      }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "pcVar1 = param_2 + lVar3;" (assignment_expression "pcVar1 = param_2 + lVar3" (identifier "pcVar1") (= "=") (binary_expression "param_2 + lVar3" (identifier "param_2") (+ "+") (identifier "lVar3"))) (; ";")) (expression_statement "lVar3 = lVar3 + 1;" (assignment_expression "lVar3 = lVar3 + 1" (identifier "lVar3") (= "=") (binary_expression "lVar3 + 1" (identifier "lVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pcVar1 == *pcVar2)" (( "(") (binary_expression "*pcVar1 == *pcVar2" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (== "==") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2"))) () ")")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

type_1 function_1(char *var_1,char *var_3)

{
  char *pcVar1;
  char *pcVar2;
  long var_2;
  
  if ((((*var_1 == *var_3) && (var_1[1] == var_3[1])) && (var_1[2] == var_3[2])) &&
     (var_1[3] == var_3[3])) {
    var_2 = 4;
    do {
      pcVar2 = var_1 + var_2;
      if (*pcVar2 == '*') {
        return 1;
      }
      pcVar1 = var_3 + var_2;
      var_2 = var_2 + 1;
    } while (*pcVar1 == *pcVar2);
    return 0;
  }
  return 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (return_statement (number_literal)))) (return_statement (number_literal)))))

undefined8 MASKED(char *param_1,char *param_2)

{
  char *pcVar1;
  char *pcVar2;
  long lVar3;
  
  if ((((*param_1 == *param_2) && (param_1[1] == param_2[1])) && (param_1[2] == param_2[2])) &&
     (param_1[3] == param_2[3])) {
    lVar3 = 4;
    do {
      pcVar2 = param_1 + lVar3;
      if (*pcVar2 == '*') {
        return 1;
      }
      pcVar1 = param_2 + lVar3;
      lVar3 = lVar3 + 1;
    } while (*pcVar1 == *pcVar2);
    return 0;
  }
  return 0;
}

