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

ld_plugin_status add_input_library(char *pathname)

{
  undefined1 *puVar1;
  char *name;
  lang_input_statement_type *plVar2;
  
  if (called_plugin == (plugin_t *)0x0) {
    info_assert("../../ld/plugin.c",0x334);
  }
  name = (char *)xstrdup(pathname);
  plVar2 = lang_add_input_file(name,lang_input_file_is_l_enum,(char *)0x0);
  if (plVar2 != (lang_input_statement_type *)0x0) {
    puVar1 = &(plVar2->flags).field_0x1;
    *puVar1 = *puVar1 | 0x80;
    return LDPS_OK;
  }
  return LDPS_ERR;
}



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

undefined4 FUN_00037310(undefined4 param_1)

{
  undefined4 uVar1;
  int iVar2;
  
  if (DAT_001cf948 == 0) {
    FUN_00034d70("../../ld/plugin.c",0x334);
  }
  uVar1 = xstrdup(param_1);
  iVar2 = FUN_00023ea0(uVar1,0,0);
  if (iVar2 != 0) {
    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;
    return 0;
  }
  return 3;
}


PUSH EBX
CALL 0x00017b80
ADD EBX,0x196cea
SUB ESP,0x8
MOV EAX,dword ptr [EBX + 0x1948]
TEST EAX,EAX
JZ 0x00037358
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x000164f0
ADD ESP,0xc
PUSH 0x0
PUSH 0x0
PUSH EAX
CALL 0x00023ea0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00037378
OR byte ptr [EAX + 0x25],0x80
ADD ESP,0x8
XOR EAX,EAX
POP EBX
RET
SUB ESP,0x8
LEA EAX,[EBX + 0xffeb010f]
PUSH 0x334
PUSH EAX
CALL 0x00034d70
ADD ESP,0x10
JMP 0x00037329
ADD ESP,0x8
MOV EAX,0x3
POP EBX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00037310(undefined4 param_1)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  \n  if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }\n  uVar1 = xstrdup(param_1);\n  iVar2 = FUN_00023ea0(uVar1,0,0);\n  if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }\n  return 3;\n}\n\n" comment (function_definition "undefined4 FUN_00037310(undefined4 param_1)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  \n  if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }\n  uVar1 = xstrdup(param_1);\n  iVar2 = FUN_00023ea0(uVar1,0,0);\n  if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }\n  return 3;\n}" type_identifier (function_declarator "FUN_00037310(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  \n  if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }\n  uVar1 = xstrdup(param_1);\n  iVar2 = FUN_00023ea0(uVar1,0,0);\n  if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }\n  return 3;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (if_statement "if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }" if (parenthesized_expression "(DAT_001cf948 == 0)" ( (binary_expression "DAT_001cf948 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }" { (expression_statement "FUN_00034d70("../../ld/plugin.c",0x334);" (call_expression "FUN_00034d70("../../ld/plugin.c",0x334)" identifier (argument_list "("../../ld/plugin.c",0x334)" ( (string_literal ""../../ld/plugin.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "uVar1 = xstrdup(param_1);" (assignment_expression "uVar1 = xstrdup(param_1)" identifier = (call_expression "xstrdup(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar2 = FUN_00023ea0(uVar1,0,0);" (assignment_expression "iVar2 = FUN_00023ea0(uVar1,0,0)" identifier = (call_expression "FUN_00023ea0(uVar1,0,0)" identifier (argument_list "(uVar1,0,0)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }" { (expression_statement "*(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;" (assignment_expression "*(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80" (pointer_expression "*(byte *)(iVar2 + 0x25)" * (cast_expression "(byte *)(iVar2 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x25)" ( (binary_expression "iVar2 + 0x25" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar2 + 0x25) | 0x80" (pointer_expression "*(byte *)(iVar2 + 0x25)" * (cast_expression "(byte *)(iVar2 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x25)" ( (binary_expression "iVar2 + 0x25" identifier + number_literal) )))) | number_literal)) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 3;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nld_plugin_status add_input_library(char *pathname)\n\n{\n  undefined1 *puVar1;\n  char *name;\n  lang_input_statement_type *plVar2;\n  \n  if (called_plugin == (plugin_t *)0x0) {\n    info_assert("../../ld/plugin.c",0x334);\n  }\n  name = (char *)xstrdup(pathname);\n  plVar2 = lang_add_input_file(name,lang_input_file_is_l_enum,(char *)0x0);\n  if (plVar2 != (lang_input_statement_type *)0x0) {\n    puVar1 = &(plVar2->flags).field_0x1;\n    *puVar1 = *puVar1 | 0x80;\n    return LDPS_OK;\n  }\n  return LDPS_ERR;\n}\n\n" comment (function_definition "ld_plugin_status add_input_library(char *pathname)\n\n{\n  undefined1 *puVar1;\n  char *name;\n  lang_input_statement_type *plVar2;\n  \n  if (called_plugin == (plugin_t *)0x0) {\n    info_assert("../../ld/plugin.c",0x334);\n  }\n  name = (char *)xstrdup(pathname);\n  plVar2 = lang_add_input_file(name,lang_input_file_is_l_enum,(char *)0x0);\n  if (plVar2 != (lang_input_statement_type *)0x0) {\n    puVar1 = &(plVar2->flags).field_0x1;\n    *puVar1 = *puVar1 | 0x80;\n    return LDPS_OK;\n  }\n  return LDPS_ERR;\n}" type_identifier (function_declarator "add_input_library(char *pathname)" identifier (parameter_list "(char *pathname)" ( (parameter_declaration "char *pathname" primitive_type (pointer_declarator "*pathname" * identifier)) ))) (compound_statement "{\n  undefined1 *puVar1;\n  char *name;\n  lang_input_statement_type *plVar2;\n  \n  if (called_plugin == (plugin_t *)0x0) {\n    info_assert("../../ld/plugin.c",0x334);\n  }\n  name = (char *)xstrdup(pathname);\n  plVar2 = lang_add_input_file(name,lang_input_file_is_l_enum,(char *)0x0);\n  if (plVar2 != (lang_input_statement_type *)0x0) {\n    puVar1 = &(plVar2->flags).field_0x1;\n    *puVar1 = *puVar1 | 0x80;\n    return LDPS_OK;\n  }\n  return LDPS_ERR;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char *name;" primitive_type (pointer_declarator "*name" * identifier) ;) (declaration "lang_input_statement_type *plVar2;" type_identifier (pointer_declarator "*plVar2" * identifier) ;) (if_statement "if (called_plugin == (plugin_t *)0x0) {\n    info_assert("../../ld/plugin.c",0x334);\n  }" if (parenthesized_expression "(called_plugin == (plugin_t *)0x0)" ( (binary_expression "called_plugin == (plugin_t *)0x0" identifier == (cast_expression "(plugin_t *)0x0" ( (type_descriptor "plugin_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    info_assert("../../ld/plugin.c",0x334);\n  }" { (expression_statement "info_assert("../../ld/plugin.c",0x334);" (call_expression "info_assert("../../ld/plugin.c",0x334)" identifier (argument_list "("../../ld/plugin.c",0x334)" ( (string_literal ""../../ld/plugin.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "name = (char *)xstrdup(pathname);" (assignment_expression "name = (char *)xstrdup(pathname)" identifier = (cast_expression "(char *)xstrdup(pathname)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pathname)" identifier (argument_list "(pathname)" ( identifier ))))) ;) (expression_statement "plVar2 = lang_add_input_file(name,lang_input_file_is_l_enum,(char *)0x0);" (assignment_expression "plVar2 = lang_add_input_file(name,lang_input_file_is_l_enum,(char *)0x0)" identifier = (call_expression "lang_add_input_file(name,lang_input_file_is_l_enum,(char *)0x0)" identifier (argument_list "(name,lang_input_file_is_l_enum,(char *)0x0)" ( identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (plVar2 != (lang_input_statement_type *)0x0) {\n    puVar1 = &(plVar2->flags).field_0x1;\n    *puVar1 = *puVar1 | 0x80;\n    return LDPS_OK;\n  }" if (parenthesized_expression "(plVar2 != (lang_input_statement_type *)0x0)" ( (binary_expression "plVar2 != (lang_input_statement_type *)0x0" identifier != (cast_expression "(lang_input_statement_type *)0x0" ( (type_descriptor "lang_input_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar1 = &(plVar2->flags).field_0x1;\n    *puVar1 = *puVar1 | 0x80;\n    return LDPS_OK;\n  }" { (expression_statement "puVar1 = &(plVar2->flags).field_0x1;" (assignment_expression "puVar1 = &(plVar2->flags).field_0x1" identifier = (pointer_expression "&(plVar2->flags).field_0x1" & (field_expression "(plVar2->flags).field_0x1" (parenthesized_expression "(plVar2->flags)" ( (field_expression "plVar2->flags" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 | 0x80;" (assignment_expression "*puVar1 = *puVar1 | 0x80" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 0x80" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) (return_statement "return LDPS_OK;" return identifier ;) })) (return_statement "return LDPS_ERR;" return identifier ;) })))
(translation_unit "undefined4 FUN_00037310(undefined4 param_1)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  \n  if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }\n  uVar1 = xstrdup(param_1);\n  iVar2 = FUN_00023ea0(uVar1,0,0);\n  if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }\n  return 3;\n}\n\n" (function_definition "undefined4 FUN_00037310(undefined4 param_1)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  \n  if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }\n  uVar1 = xstrdup(param_1);\n  iVar2 = FUN_00023ea0(uVar1,0,0);\n  if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }\n  return 3;\n}" type_identifier (function_declarator "FUN_00037310(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  \n  if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }\n  uVar1 = xstrdup(param_1);\n  iVar2 = FUN_00023ea0(uVar1,0,0);\n  if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }\n  return 3;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (if_statement "if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }" if (parenthesized_expression "(DAT_001cf948 == 0)" ( (binary_expression "DAT_001cf948 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }" { (expression_statement "FUN_00034d70("../../ld/plugin.c",0x334);" (call_expression "FUN_00034d70("../../ld/plugin.c",0x334)" identifier (argument_list "("../../ld/plugin.c",0x334)" ( (string_literal ""../../ld/plugin.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "uVar1 = xstrdup(param_1);" (assignment_expression "uVar1 = xstrdup(param_1)" identifier = (call_expression "xstrdup(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar2 = FUN_00023ea0(uVar1,0,0);" (assignment_expression "iVar2 = FUN_00023ea0(uVar1,0,0)" identifier = (call_expression "FUN_00023ea0(uVar1,0,0)" identifier (argument_list "(uVar1,0,0)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }" { (expression_statement "*(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;" (assignment_expression "*(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80" (pointer_expression "*(byte *)(iVar2 + 0x25)" * (cast_expression "(byte *)(iVar2 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x25)" ( (binary_expression "iVar2 + 0x25" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar2 + 0x25) | 0x80" (pointer_expression "*(byte *)(iVar2 + 0x25)" * (cast_expression "(byte *)(iVar2 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x25)" ( (binary_expression "iVar2 + 0x25" identifier + number_literal) )))) | number_literal)) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 3;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00037310(undefined4 param_1)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  \n  if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }\n  uVar1 = xstrdup(param_1);\n  iVar2 = FUN_00023ea0(uVar1,0,0);\n  if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }\n  return 3;\n}" (type_identifier "undefined4") (function_declarator "FUN_00037310(undefined4 param_1)" (identifier "FUN_00037310") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  \n  if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }\n  uVar1 = xstrdup(param_1);\n  iVar2 = FUN_00023ea0(uVar1,0,0);\n  if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }\n  return 3;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (if_statement "if (DAT_001cf948 == 0) {\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }" (if "if") (parenthesized_expression "(DAT_001cf948 == 0)" (( "(") (binary_expression "DAT_001cf948 == 0" (identifier "DAT_001cf948") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00034d70("../../ld/plugin.c",0x334);\n  }" ({ "{") (expression_statement "FUN_00034d70("../../ld/plugin.c",0x334);" (call_expression "FUN_00034d70("../../ld/plugin.c",0x334)" (identifier "FUN_00034d70") (argument_list "("../../ld/plugin.c",0x334)" (( "(") (string_literal ""../../ld/plugin.c"" (" """) (string_content "../../ld/plugin.c") (" """)) (, ",") (number_literal "0x334") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar1 = xstrdup(param_1);" (assignment_expression "uVar1 = xstrdup(param_1)" (identifier "uVar1") (= "=") (call_expression "xstrdup(param_1)" (identifier "xstrdup") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "iVar2 = FUN_00023ea0(uVar1,0,0);" (assignment_expression "iVar2 = FUN_00023ea0(uVar1,0,0)" (identifier "iVar2") (= "=") (call_expression "FUN_00023ea0(uVar1,0,0)" (identifier "FUN_00023ea0") (argument_list "(uVar1,0,0)" (( "(") (identifier "uVar1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;\n    return 0;\n  }" ({ "{") (expression_statement "*(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;" (assignment_expression "*(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80" (pointer_expression "*(byte *)(iVar2 + 0x25)" (* "*") (cast_expression "(byte *)(iVar2 + 0x25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x25)" (( "(") (binary_expression "iVar2 + 0x25" (identifier "iVar2") (+ "+") (number_literal "0x25")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar2 + 0x25) | 0x80" (pointer_expression "*(byte *)(iVar2 + 0x25)" (* "*") (cast_expression "(byte *)(iVar2 + 0x25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x25)" (( "(") (binary_expression "iVar2 + 0x25" (identifier "iVar2") (+ "+") (number_literal "0x25")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return 3;" (return "return") (number_literal "3") (; ";")) (} "}")))

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

type_1 function_1(char *pathname)

{
  type_2 *puVar1;
  char *name;
  type_3 *var_5;
  
  if (var_1 == (type_4 *)0x0) {
    var_2("../../ld/plugin.c",0x334);
  }
  name = (char *)var_3(pathname);
  var_5 = var_4(name,lang_input_file_is_l_enum,(char *)0x0);
  if (var_5 != (type_3 *)0x0) {
    puVar1 = &(var_5->flags).field_0x1;
    *puVar1 = *puVar1 | 0x80;
    return LDPS_OK;
  }
  return LDPS_ERR;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (return_statement (number_literal)))) (return_statement (number_literal)))))

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

undefined4 MASKED(undefined4 param_1)

{
  undefined4 uVar1;
  int iVar2;
  
  if (DAT_001cf948 == 0) {
    FUN_00034d70("../../ld/plugin.c",0x334);
  }
  uVar1 = xstrdup(param_1);
  iVar2 = FUN_00023ea0(uVar1,0,0);
  if (iVar2 != 0) {
    *(byte *)(iVar2 + 0x25) = *(byte *)(iVar2 + 0x25) | 0x80;
    return 0;
  }
  return 3;
}

