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

int __regparm3 name_match(char *pattern,char *name)

{
  char *pcVar1;
  int iVar2;
  
  pcVar1 = strpbrk(pattern,"?*[");
  if (pcVar1 == (char *)0x0) {
    iVar2 = strcmp(pattern,name);
    return iVar2;
  }
  iVar2 = fnmatch(pattern,name,0);
  return iVar2;
}



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

void __regparm3 FUN_00020500(char *param_1,char *param_2)

{
  char *pcVar1;
  
  pcVar1 = strpbrk(param_1,"?*[");
  if (pcVar1 == (char *)0x0) {
    strcmp(param_1,param_2);
    return;
  }
  fnmatch(param_1,param_2,0);
  return;
}


PUSH EDI
MOV EDI,EDX
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00015a10
ADD EBX,0x73af4
SUB ESP,0x8
LEA EAX,[EBX + 0xfffbaf72]
PUSH EAX
PUSH ESI
CALL 0x000148d0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00020540
SUB ESP,0x8
PUSH EDI
PUSH ESI
CALL 0x000140c0
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0x4
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x00014410
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_00020500(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  \n  pcVar1 = strpbrk(param_1,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }\n  fnmatch(param_1,param_2,0);\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_00020500(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  \n  pcVar1 = strpbrk(param_1,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }\n  fnmatch(param_1,param_2,0);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00020500(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  \n  pcVar1 = strpbrk(param_1,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }\n  fnmatch(param_1,param_2,0);\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (expression_statement "pcVar1 = strpbrk(param_1,"?*[");" (assignment_expression "pcVar1 = strpbrk(param_1,"?*[")" identifier = (call_expression "strpbrk(param_1,"?*[")" identifier (argument_list "(param_1,"?*[")" ( identifier , (string_literal ""?*["" " string_content ") )))) ;) (if_statement "if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }" if (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    strcmp(param_1,param_2);\n    return;\n  }" { (expression_statement "strcmp(param_1,param_2);" (call_expression "strcmp(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "fnmatch(param_1,param_2,0);" (call_expression "fnmatch(param_1,param_2,0)" identifier (argument_list "(param_1,param_2,0)" ( identifier , identifier , number_literal ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 name_match(char *pattern,char *name)\n\n{\n  char *pcVar1;\n  int iVar2;\n  \n  pcVar1 = strpbrk(pattern,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    iVar2 = strcmp(pattern,name);\n    return iVar2;\n  }\n  iVar2 = fnmatch(pattern,name,0);\n  return iVar2;\n}\n\n" comment (function_definition "int __regparm3 name_match(char *pattern,char *name)\n\n{\n  char *pcVar1;\n  int iVar2;\n  \n  pcVar1 = strpbrk(pattern,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    iVar2 = strcmp(pattern,name);\n    return iVar2;\n  }\n  iVar2 = fnmatch(pattern,name,0);\n  return iVar2;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "name_match(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  int iVar2;\n  \n  pcVar1 = strpbrk(pattern,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    iVar2 = strcmp(pattern,name);\n    return iVar2;\n  }\n  iVar2 = fnmatch(pattern,name,0);\n  return iVar2;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "pcVar1 = strpbrk(pattern,"?*[");" (assignment_expression "pcVar1 = strpbrk(pattern,"?*[")" identifier = (call_expression "strpbrk(pattern,"?*[")" identifier (argument_list "(pattern,"?*[")" ( identifier , (string_literal ""?*["" " string_content ") )))) ;) (if_statement "if (pcVar1 == (char *)0x0) {\n    iVar2 = strcmp(pattern,name);\n    return iVar2;\n  }" if (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar2 = strcmp(pattern,name);\n    return iVar2;\n  }" { (expression_statement "iVar2 = strcmp(pattern,name);" (assignment_expression "iVar2 = strcmp(pattern,name)" identifier = (call_expression "strcmp(pattern,name)" identifier (argument_list "(pattern,name)" ( identifier , identifier )))) ;) (return_statement "return iVar2;" return identifier ;) })) (expression_statement "iVar2 = fnmatch(pattern,name,0);" (assignment_expression "iVar2 = fnmatch(pattern,name,0)" identifier = (call_expression "fnmatch(pattern,name,0)" identifier (argument_list "(pattern,name,0)" ( identifier , identifier , number_literal )))) ;) (return_statement "return iVar2;" return identifier ;) })))
(translation_unit "void __regparm3 FUN_00020500(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  \n  pcVar1 = strpbrk(param_1,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }\n  fnmatch(param_1,param_2,0);\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00020500(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  \n  pcVar1 = strpbrk(param_1,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }\n  fnmatch(param_1,param_2,0);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00020500(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  \n  pcVar1 = strpbrk(param_1,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }\n  fnmatch(param_1,param_2,0);\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (expression_statement "pcVar1 = strpbrk(param_1,"?*[");" (assignment_expression "pcVar1 = strpbrk(param_1,"?*[")" identifier = (call_expression "strpbrk(param_1,"?*[")" identifier (argument_list "(param_1,"?*[")" ( identifier , (string_literal ""?*["" " string_content ") )))) ;) (if_statement "if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }" if (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    strcmp(param_1,param_2);\n    return;\n  }" { (expression_statement "strcmp(param_1,param_2);" (call_expression "strcmp(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "fnmatch(param_1,param_2,0);" (call_expression "fnmatch(param_1,param_2,0)" identifier (argument_list "(param_1,param_2,0)" ( identifier , identifier , number_literal ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00020500(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  \n  pcVar1 = strpbrk(param_1,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }\n  fnmatch(param_1,param_2,0);\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00020500(char *param_1,char *param_2)" (identifier "FUN_00020500") (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  \n  pcVar1 = strpbrk(param_1,"?*[");\n  if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }\n  fnmatch(param_1,param_2,0);\n  return;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (expression_statement "pcVar1 = strpbrk(param_1,"?*[");" (assignment_expression "pcVar1 = strpbrk(param_1,"?*[")" (identifier "pcVar1") (= "=") (call_expression "strpbrk(param_1,"?*[")" (identifier "strpbrk") (argument_list "(param_1,"?*[")" (( "(") (identifier "param_1") (, ",") (string_literal ""?*["" (" """) (string_content "?*[") (" """)) () ")")))) (; ";")) (if_statement "if (pcVar1 == (char *)0x0) {\n    strcmp(param_1,param_2);\n    return;\n  }" (if "if") (parenthesized_expression "(pcVar1 == (char *)0x0)" (( "(") (binary_expression "pcVar1 == (char *)0x0" (identifier "pcVar1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    strcmp(param_1,param_2);\n    return;\n  }" ({ "{") (expression_statement "strcmp(param_1,param_2);" (call_expression "strcmp(param_1,param_2)" (identifier "strcmp") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "fnmatch(param_1,param_2,0);" (call_expression "fnmatch(param_1,param_2,0)" (identifier "fnmatch") (argument_list "(param_1,param_2,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (number_literal "0") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

int __regparm3 function_1(char *pattern,char *name)

{
  char *var_2;
  int iVar2;
  
  var_2 = var_1(pattern,"?*[");
  if (var_2 == (char *)0x0) {
    iVar2 = var_3(pattern,name);
    return iVar2;
  }
  iVar2 = var_4(pattern,name,0);
  return iVar2;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (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))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (return_statement))))

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

void __regparm3 MASKED(char *param_1,char *param_2)

{
  char *pcVar1;
  
  pcVar1 = strpbrk(param_1,"?*[");
  if (pcVar1 == (char *)0x0) {
    strcmp(param_1,param_2);
    return;
  }
  fnmatch(param_1,param_2,0);
  return;
}

