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

bfd_boolean __regparm3 is_specified_symbol(char *name,htab_t htab)

{
  int iVar1;
  is_specified_symbol_predicate_data data;
  
  if (wildcard == 0) {
    iVar1 = htab_find(htab,name);
    return (uint)(iVar1 != 0);
  }
  data.found = 0;
  data.name = name;
  htab_traverse(htab,is_specified_symbol_predicate,&data);
  return data.found;
}



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

uint __regparm3 FUN_00017880(undefined4 param_1,undefined4 param_2)

{
  int iVar1;
  undefined4 local_14;
  uint local_10;
  undefined4 uStack_8;
  
  uStack_8 = 0x17886;
  if (DAT_0003fb14 == 0) {
    iVar1 = htab_find(param_2,param_1);
    return (uint)(iVar1 != 0);
  }
  local_10 = 0;
  local_14 = param_1;
  htab_traverse(param_2,FUN_00016890,&local_14);
  return local_10;
}


PUSH EBX
CALL 0x000165d0
ADD EBX,0x2777a
SUB ESP,0x18
MOV ECX,dword ptr [EBX + 0xb14]
TEST ECX,ECX
JNZ 0x000178b8
SUB ESP,0x8
PUSH EAX
PUSH EDX
CALL 0x000137d0
ADD ESP,0x10
TEST EAX,EAX
SETNZ AL
ADD ESP,0x18
MOVZX EAX,AL
POP EBX
RET
MOV dword ptr [ESP + 0x8],EAX
SUB ESP,0x4
MOV dword ptr [ESP + 0x10],0x0
LEA EAX,[ESP + 0xc]
PUSH EAX
LEA EAX,[EBX + 0xfffd7890]
PUSH EAX
PUSH EDX
CALL 0x00013500
MOV EAX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
ADD ESP,0x18
POP EBX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint __regparm3 FUN_00017880(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  uint local_10;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x17886;\n  if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }\n  local_10 = 0;\n  local_14 = param_1;\n  htab_traverse(param_2,FUN_00016890,&local_14);\n  return local_10;\n}\n\n" comment (function_definition "uint __regparm3 FUN_00017880(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  uint local_10;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x17886;\n  if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }\n  local_10 = 0;\n  local_14 = param_1;\n  htab_traverse(param_2,FUN_00016890,&local_14);\n  return local_10;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00017880(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 local_14;\n  uint local_10;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x17886;\n  if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }\n  local_10 = 0;\n  local_14 = param_1;\n  htab_traverse(param_2,FUN_00016890,&local_14);\n  return local_10;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (declaration "uint local_10;" type_identifier identifier ;) (declaration "undefined4 uStack_8;" type_identifier identifier ;) (expression_statement "uStack_8 = 0x17886;" (assignment_expression "uStack_8 = 0x17886" identifier = number_literal) ;) (if_statement "if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }" if (parenthesized_expression "(DAT_0003fb14 == 0)" ( (binary_expression "DAT_0003fb14 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }" { (expression_statement "iVar1 = htab_find(param_2,param_1);" (assignment_expression "iVar1 = htab_find(param_2,param_1)" identifier = (call_expression "htab_find(param_2,param_1)" identifier (argument_list "(param_2,param_1)" ( identifier , identifier )))) ;) (return_statement "return (uint)(iVar1 != 0);" return (call_expression "(uint)(iVar1 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) ))) ;) })) (expression_statement "local_10 = 0;" (assignment_expression "local_10 = 0" identifier = number_literal) ;) (expression_statement "local_14 = param_1;" (assignment_expression "local_14 = param_1" identifier = identifier) ;) (expression_statement "htab_traverse(param_2,FUN_00016890,&local_14);" (call_expression "htab_traverse(param_2,FUN_00016890,&local_14)" identifier (argument_list "(param_2,FUN_00016890,&local_14)" ( identifier , identifier , (pointer_expression "&local_14" & identifier) ))) ;) (return_statement "return local_10;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbfd_boolean __regparm3 is_specified_symbol(char *name,htab_t htab)\n\n{\n  int iVar1;\n  is_specified_symbol_predicate_data data;\n  \n  if (wildcard == 0) {\n    iVar1 = htab_find(htab,name);\n    return (uint)(iVar1 != 0);\n  }\n  data.found = 0;\n  data.name = name;\n  htab_traverse(htab,is_specified_symbol_predicate,&data);\n  return data.found;\n}\n\n" comment (function_definition "bfd_boolean __regparm3 is_specified_symbol(char *name,htab_t htab)\n\n{\n  int iVar1;\n  is_specified_symbol_predicate_data data;\n  \n  if (wildcard == 0) {\n    iVar1 = htab_find(htab,name);\n    return (uint)(iVar1 != 0);\n  }\n  data.found = 0;\n  data.name = name;\n  htab_traverse(htab,is_specified_symbol_predicate,&data);\n  return data.found;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "is_specified_symbol(char *name,htab_t htab)" identifier (parameter_list "(char *name,htab_t htab)" ( (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "htab_t htab" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  is_specified_symbol_predicate_data data;\n  \n  if (wildcard == 0) {\n    iVar1 = htab_find(htab,name);\n    return (uint)(iVar1 != 0);\n  }\n  data.found = 0;\n  data.name = name;\n  htab_traverse(htab,is_specified_symbol_predicate,&data);\n  return data.found;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "is_specified_symbol_predicate_data data;" type_identifier identifier ;) (if_statement "if (wildcard == 0) {\n    iVar1 = htab_find(htab,name);\n    return (uint)(iVar1 != 0);\n  }" if (parenthesized_expression "(wildcard == 0)" ( (binary_expression "wildcard == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = htab_find(htab,name);\n    return (uint)(iVar1 != 0);\n  }" { (expression_statement "iVar1 = htab_find(htab,name);" (assignment_expression "iVar1 = htab_find(htab,name)" identifier = (call_expression "htab_find(htab,name)" identifier (argument_list "(htab,name)" ( identifier , identifier )))) ;) (return_statement "return (uint)(iVar1 != 0);" return (call_expression "(uint)(iVar1 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) ))) ;) })) (expression_statement "data.found = 0;" (assignment_expression "data.found = 0" (field_expression "data.found" identifier . field_identifier) = number_literal) ;) (expression_statement "data.name = name;" (assignment_expression "data.name = name" (field_expression "data.name" identifier . field_identifier) = identifier) ;) (expression_statement "htab_traverse(htab,is_specified_symbol_predicate,&data);" (call_expression "htab_traverse(htab,is_specified_symbol_predicate,&data)" identifier (argument_list "(htab,is_specified_symbol_predicate,&data)" ( identifier , identifier , (pointer_expression "&data" & identifier) ))) ;) (return_statement "return data.found;" return (field_expression "data.found" identifier . field_identifier) ;) })))
(translation_unit "uint __regparm3 FUN_00017880(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  uint local_10;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x17886;\n  if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }\n  local_10 = 0;\n  local_14 = param_1;\n  htab_traverse(param_2,FUN_00016890,&local_14);\n  return local_10;\n}\n\n" (function_definition "uint __regparm3 FUN_00017880(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  uint local_10;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x17886;\n  if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }\n  local_10 = 0;\n  local_14 = param_1;\n  htab_traverse(param_2,FUN_00016890,&local_14);\n  return local_10;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00017880(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 local_14;\n  uint local_10;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x17886;\n  if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }\n  local_10 = 0;\n  local_14 = param_1;\n  htab_traverse(param_2,FUN_00016890,&local_14);\n  return local_10;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (declaration "uint local_10;" type_identifier identifier ;) (declaration "undefined4 uStack_8;" type_identifier identifier ;) (expression_statement "uStack_8 = 0x17886;" (assignment_expression "uStack_8 = 0x17886" identifier = number_literal) ;) (if_statement "if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }" if (parenthesized_expression "(DAT_0003fb14 == 0)" ( (binary_expression "DAT_0003fb14 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }" { (expression_statement "iVar1 = htab_find(param_2,param_1);" (assignment_expression "iVar1 = htab_find(param_2,param_1)" identifier = (call_expression "htab_find(param_2,param_1)" identifier (argument_list "(param_2,param_1)" ( identifier , identifier )))) ;) (return_statement "return (uint)(iVar1 != 0);" return (call_expression "(uint)(iVar1 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) ))) ;) })) (expression_statement "local_10 = 0;" (assignment_expression "local_10 = 0" identifier = number_literal) ;) (expression_statement "local_14 = param_1;" (assignment_expression "local_14 = param_1" identifier = identifier) ;) (expression_statement "htab_traverse(param_2,FUN_00016890,&local_14);" (call_expression "htab_traverse(param_2,FUN_00016890,&local_14)" identifier (argument_list "(param_2,FUN_00016890,&local_14)" ( identifier , identifier , (pointer_expression "&local_14" & identifier) ))) ;) (return_statement "return local_10;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (return_statement return (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (return_statement return IDENT ;) })))
(function_definition "uint __regparm3 FUN_00017880(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  uint local_10;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x17886;\n  if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }\n  local_10 = 0;\n  local_14 = param_1;\n  htab_traverse(param_2,FUN_00016890,&local_14);\n  return local_10;\n}" (type_identifier "uint") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00017880(undefined4 param_1,undefined4 param_2)" (identifier "FUN_00017880") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 local_14;\n  uint local_10;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x17886;\n  if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }\n  local_10 = 0;\n  local_14 = param_1;\n  htab_traverse(param_2,FUN_00016890,&local_14);\n  return local_10;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 local_14;" (type_identifier "undefined4") (identifier "local_14") (; ";")) (declaration "uint local_10;" (type_identifier "uint") (identifier "local_10") (; ";")) (declaration "undefined4 uStack_8;" (type_identifier "undefined4") (identifier "uStack_8") (; ";")) (expression_statement "uStack_8 = 0x17886;" (assignment_expression "uStack_8 = 0x17886" (identifier "uStack_8") (= "=") (number_literal "0x17886")) (; ";")) (if_statement "if (DAT_0003fb14 == 0) {\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }" (if "if") (parenthesized_expression "(DAT_0003fb14 == 0)" (( "(") (binary_expression "DAT_0003fb14 == 0" (identifier "DAT_0003fb14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = htab_find(param_2,param_1);\n    return (uint)(iVar1 != 0);\n  }" ({ "{") (expression_statement "iVar1 = htab_find(param_2,param_1);" (assignment_expression "iVar1 = htab_find(param_2,param_1)" (identifier "iVar1") (= "=") (call_expression "htab_find(param_2,param_1)" (identifier "htab_find") (argument_list "(param_2,param_1)" (( "(") (identifier "param_2") (, ",") (identifier "param_1") () ")")))) (; ";")) (return_statement "return (uint)(iVar1 != 0);" (return "return") (call_expression "(uint)(iVar1 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")"))) (; ";")) (} "}"))) (expression_statement "local_10 = 0;" (assignment_expression "local_10 = 0" (identifier "local_10") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_14 = param_1;" (assignment_expression "local_14 = param_1" (identifier "local_14") (= "=") (identifier "param_1")) (; ";")) (expression_statement "htab_traverse(param_2,FUN_00016890,&local_14);" (call_expression "htab_traverse(param_2,FUN_00016890,&local_14)" (identifier "htab_traverse") (argument_list "(param_2,FUN_00016890,&local_14)" (( "(") (identifier "param_2") (, ",") (identifier "FUN_00016890") (, ",") (pointer_expression "&local_14" (& "&") (identifier "local_14")) () ")"))) (; ";")) (return_statement "return local_10;" (return "return") (identifier "local_10") (; ";")) (} "}")))

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

type_1 __regparm3 function_1(char *name,type_2 htab)

{
  int var_3;
  type_3 data;
  
  if (var_1 == 0) {
    var_3 = var_2(htab,name);
    return (uint)(var_3 != 0);
  }
  data.found = 0;
  data.name = name;
  var_4(htab,is_specified_symbol_predicate,&data);
  return data.found;
}


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

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

uint __regparm3 MASKED(undefined4 param_1,undefined4 param_2)

{
  int iVar1;
  undefined4 local_14;
  uint local_10;
  undefined4 uStack_8;
  
  uStack_8 = 0x17886;
  if (DAT_0003fb14 == 0) {
    iVar1 = htab_find(param_2,param_1);
    return (uint)(iVar1 != 0);
  }
  local_10 = 0;
  local_14 = param_1;
  htab_traverse(param_2,FUN_00016890,&local_14);
  return local_10;
}

