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

sparc_arch * __regparm3 lookup_arch(char *name)

{
  int iVar1;
  char *__s1;
  sparc_arch *psVar2;
  
  if (sparc_arch_table[0].name != (char *)0x0) {
    psVar2 = sparc_arch_table;
    __s1 = sparc_arch_table[0].name;
    do {
      iVar1 = strcmp(__s1,name);
      if (iVar1 == 0) {
        return psVar2;
      }
      psVar2 = psVar2 + 1;
      __s1 = psVar2->name;
    } while (__s1 != (char *)0x0);
  }
  return (sparc_arch *)0x0;
}



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

undefined ** __regparm3 FUN_00041210(char *param_1)

{
  int iVar1;
  char *__s1;
  undefined **ppuVar2;
  
  if (PTR_DAT_0006e9a0 != (undefined *)0x0) {
    ppuVar2 = &PTR_DAT_0006e9a0;
    __s1 = PTR_DAT_0006e9a0;
    do {
      iVar1 = strcmp(__s1,param_1);
      if (iVar1 == 0) {
        return ppuVar2;
      }
      ppuVar2 = ppuVar2 + 7;
      __s1 = *ppuVar2;
    } while (__s1 != (char *)0x0);
  }
  return (undefined **)0x0;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016040
ADD EBX,0x2cde8
MOV EDX,dword ptr [EBX + 0x9a0]
TEST EDX,EDX
JZ 0x00041260
MOV EDI,EAX
LEA ESI,[EBX + 0x9a0]
JMP 0x00041241
ADD ESI,0x1c
MOV EDX,dword ptr [ESI]
TEST EDX,EDX
JZ 0x00041260
SUB ESP,0x8
PUSH EDI
PUSH EDX
CALL 0x00014090
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00041238
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
RET
XOR ESI,ESI
POP EBX
MOV EAX,ESI
POP ESI
POP EDI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined ** __regparm3 FUN_00041210(char *param_1)\n\n{\n  int iVar1;\n  char *__s1;\n  undefined **ppuVar2;\n  \n  if (PTR_DAT_0006e9a0 != (undefined *)0x0) {\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }\n  return (undefined **)0x0;\n}\n\n" comment (ERROR "undefined ** __regparm3 FUN_00041210(char *param_1)" (binary_expression "undefined ** __regparm3 FUN_00041210(char *param_1)" identifier * (ERROR "* __regparm3" (pointer_expression "* __regparm3" * identifier)) (call_expression "FUN_00041210(char *param_1)" identifier (argument_list "(char *param_1)" ( (binary_expression "char *param_1" identifier * identifier) ))))) (compound_statement "{\n  int iVar1;\n  char *__s1;\n  undefined **ppuVar2;\n  \n  if (PTR_DAT_0006e9a0 != (undefined *)0x0) {\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }\n  return (undefined **)0x0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (if_statement "if (PTR_DAT_0006e9a0 != (undefined *)0x0) {\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }" if (parenthesized_expression "(PTR_DAT_0006e9a0 != (undefined *)0x0)" ( (binary_expression "PTR_DAT_0006e9a0 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }" { (expression_statement "ppuVar2 = &PTR_DAT_0006e9a0;" (assignment_expression "ppuVar2 = &PTR_DAT_0006e9a0" identifier = (pointer_expression "&PTR_DAT_0006e9a0" & identifier)) ;) (expression_statement "__s1 = PTR_DAT_0006e9a0;" (assignment_expression "__s1 = PTR_DAT_0006e9a0" identifier = identifier) ;) (do_statement "do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);" do (compound_statement "{\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    }" { (expression_statement "iVar1 = strcmp(__s1,param_1);" (assignment_expression "iVar1 = strcmp(__s1,param_1)" identifier = (call_expression "strcmp(__s1,param_1)" identifier (argument_list "(__s1,param_1)" ( identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n        return ppuVar2;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return ppuVar2;\n      }" { (return_statement "return ppuVar2;" return identifier ;) })) (expression_statement "ppuVar2 = ppuVar2 + 7;" (assignment_expression "ppuVar2 = ppuVar2 + 7" identifier = (binary_expression "ppuVar2 + 7" identifier + number_literal)) ;) (expression_statement "__s1 = *ppuVar2;" (assignment_expression "__s1 = *ppuVar2" identifier = (pointer_expression "*ppuVar2" * identifier)) ;) }) while (parenthesized_expression "(__s1 != (char *)0x0)" ( (binary_expression "__s1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (return_statement "return (undefined **)0x0;" return (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ;) }))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nsparc_arch * __regparm3 lookup_arch(char *name)\n\n{\n  int iVar1;\n  char *__s1;\n  sparc_arch *psVar2;\n  \n  if (sparc_arch_table[0].name != (char *)0x0) {\n    psVar2 = sparc_arch_table;\n    __s1 = sparc_arch_table[0].name;\n    do {\n      iVar1 = strcmp(__s1,name);\n      if (iVar1 == 0) {\n        return psVar2;\n      }\n      psVar2 = psVar2 + 1;\n      __s1 = psVar2->name;\n    } while (__s1 != (char *)0x0);\n  }\n  return (sparc_arch *)0x0;\n}\n\n" comment (ERROR "sparc_arch * __regparm3 lookup_arch(char *name)" (binary_expression "sparc_arch * __regparm3 lookup_arch(char *name)" identifier * (ERROR "__regparm3" identifier) (call_expression "lookup_arch(char *name)" identifier (argument_list "(char *name)" ( (binary_expression "char *name" identifier * identifier) ))))) (compound_statement "{\n  int iVar1;\n  char *__s1;\n  sparc_arch *psVar2;\n  \n  if (sparc_arch_table[0].name != (char *)0x0) {\n    psVar2 = sparc_arch_table;\n    __s1 = sparc_arch_table[0].name;\n    do {\n      iVar1 = strcmp(__s1,name);\n      if (iVar1 == 0) {\n        return psVar2;\n      }\n      psVar2 = psVar2 + 1;\n      __s1 = psVar2->name;\n    } while (__s1 != (char *)0x0);\n  }\n  return (sparc_arch *)0x0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "sparc_arch *psVar2;" type_identifier (pointer_declarator "*psVar2" * identifier) ;) (if_statement "if (sparc_arch_table[0].name != (char *)0x0) {\n    psVar2 = sparc_arch_table;\n    __s1 = sparc_arch_table[0].name;\n    do {\n      iVar1 = strcmp(__s1,name);\n      if (iVar1 == 0) {\n        return psVar2;\n      }\n      psVar2 = psVar2 + 1;\n      __s1 = psVar2->name;\n    } while (__s1 != (char *)0x0);\n  }" if (parenthesized_expression "(sparc_arch_table[0].name != (char *)0x0)" ( (binary_expression "sparc_arch_table[0].name != (char *)0x0" (field_expression "sparc_arch_table[0].name" (subscript_expression "sparc_arch_table[0]" identifier [ number_literal ]) . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    psVar2 = sparc_arch_table;\n    __s1 = sparc_arch_table[0].name;\n    do {\n      iVar1 = strcmp(__s1,name);\n      if (iVar1 == 0) {\n        return psVar2;\n      }\n      psVar2 = psVar2 + 1;\n      __s1 = psVar2->name;\n    } while (__s1 != (char *)0x0);\n  }" { (expression_statement "psVar2 = sparc_arch_table;" (assignment_expression "psVar2 = sparc_arch_table" identifier = identifier) ;) (expression_statement "__s1 = sparc_arch_table[0].name;" (assignment_expression "__s1 = sparc_arch_table[0].name" identifier = (field_expression "sparc_arch_table[0].name" (subscript_expression "sparc_arch_table[0]" identifier [ number_literal ]) . field_identifier)) ;) (do_statement "do {\n      iVar1 = strcmp(__s1,name);\n      if (iVar1 == 0) {\n        return psVar2;\n      }\n      psVar2 = psVar2 + 1;\n      __s1 = psVar2->name;\n    } while (__s1 != (char *)0x0);" do (compound_statement "{\n      iVar1 = strcmp(__s1,name);\n      if (iVar1 == 0) {\n        return psVar2;\n      }\n      psVar2 = psVar2 + 1;\n      __s1 = psVar2->name;\n    }" { (expression_statement "iVar1 = strcmp(__s1,name);" (assignment_expression "iVar1 = strcmp(__s1,name)" identifier = (call_expression "strcmp(__s1,name)" identifier (argument_list "(__s1,name)" ( identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n        return psVar2;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return psVar2;\n      }" { (return_statement "return psVar2;" return identifier ;) })) (expression_statement "psVar2 = psVar2 + 1;" (assignment_expression "psVar2 = psVar2 + 1" identifier = (binary_expression "psVar2 + 1" identifier + number_literal)) ;) (expression_statement "__s1 = psVar2->name;" (assignment_expression "__s1 = psVar2->name" identifier = (field_expression "psVar2->name" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(__s1 != (char *)0x0)" ( (binary_expression "__s1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (return_statement "return (sparc_arch *)0x0;" return (cast_expression "(sparc_arch *)0x0" ( (type_descriptor "sparc_arch *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) }))
(translation_unit "undefined ** __regparm3 FUN_00041210(char *param_1)\n\n{\n  int iVar1;\n  char *__s1;\n  undefined **ppuVar2;\n  \n  if (PTR_DAT_0006e9a0 != (undefined *)0x0) {\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }\n  return (undefined **)0x0;\n}\n\n" (ERROR "undefined ** __regparm3 FUN_00041210(char *param_1)" (binary_expression "undefined ** __regparm3 FUN_00041210(char *param_1)" identifier * (ERROR "* __regparm3" (pointer_expression "* __regparm3" * identifier)) (call_expression "FUN_00041210(char *param_1)" identifier (argument_list "(char *param_1)" ( (binary_expression "char *param_1" identifier * identifier) ))))) (compound_statement "{\n  int iVar1;\n  char *__s1;\n  undefined **ppuVar2;\n  \n  if (PTR_DAT_0006e9a0 != (undefined *)0x0) {\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }\n  return (undefined **)0x0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (if_statement "if (PTR_DAT_0006e9a0 != (undefined *)0x0) {\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }" if (parenthesized_expression "(PTR_DAT_0006e9a0 != (undefined *)0x0)" ( (binary_expression "PTR_DAT_0006e9a0 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }" { (expression_statement "ppuVar2 = &PTR_DAT_0006e9a0;" (assignment_expression "ppuVar2 = &PTR_DAT_0006e9a0" identifier = (pointer_expression "&PTR_DAT_0006e9a0" & identifier)) ;) (expression_statement "__s1 = PTR_DAT_0006e9a0;" (assignment_expression "__s1 = PTR_DAT_0006e9a0" identifier = identifier) ;) (do_statement "do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);" do (compound_statement "{\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    }" { (expression_statement "iVar1 = strcmp(__s1,param_1);" (assignment_expression "iVar1 = strcmp(__s1,param_1)" identifier = (call_expression "strcmp(__s1,param_1)" identifier (argument_list "(__s1,param_1)" ( identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n        return ppuVar2;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return ppuVar2;\n      }" { (return_statement "return ppuVar2;" return identifier ;) })) (expression_statement "ppuVar2 = ppuVar2 + 7;" (assignment_expression "ppuVar2 = ppuVar2 + 7" identifier = (binary_expression "ppuVar2 + 7" identifier + number_literal)) ;) (expression_statement "__s1 = *ppuVar2;" (assignment_expression "__s1 = *ppuVar2" identifier = (pointer_expression "*ppuVar2" * identifier)) ;) }) while (parenthesized_expression "(__s1 != (char *)0x0)" ( (binary_expression "__s1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (return_statement "return (undefined **)0x0;" return (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ;) }))
(translation_unit (ERROR (binary_expression IDENT * (ERROR (pointer_expression * IDENT)) (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) ))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) ;) }))
(ERROR "undefined ** __regparm3 FUN_00041210(char *param_1)" (binary_expression "undefined ** __regparm3 FUN_00041210(char *param_1)" (identifier "undefined") (* "*") (ERROR "* __regparm3" (pointer_expression "* __regparm3" (* "*") (identifier "__regparm3"))) (call_expression "FUN_00041210(char *param_1)" (identifier "FUN_00041210") (argument_list "(char *param_1)" (( "(") (binary_expression "char *param_1" (identifier "char") (* "*") (identifier "param_1")) () ")"))))) (compound_statement "{\n  int iVar1;\n  char *__s1;\n  undefined **ppuVar2;\n  \n  if (PTR_DAT_0006e9a0 != (undefined *)0x0) {\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }\n  return (undefined **)0x0;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "char *__s1;" (primitive_type "char") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "undefined **ppuVar2;" (type_identifier "undefined") (pointer_declarator "**ppuVar2" (* "*") (pointer_declarator "*ppuVar2" (* "*") (identifier "ppuVar2"))) (; ";")) (if_statement "if (PTR_DAT_0006e9a0 != (undefined *)0x0) {\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }" (if "if") (parenthesized_expression "(PTR_DAT_0006e9a0 != (undefined *)0x0)" (( "(") (binary_expression "PTR_DAT_0006e9a0 != (undefined *)0x0" (identifier "PTR_DAT_0006e9a0") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppuVar2 = &PTR_DAT_0006e9a0;\n    __s1 = PTR_DAT_0006e9a0;\n    do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);\n  }" ({ "{") (expression_statement "ppuVar2 = &PTR_DAT_0006e9a0;" (assignment_expression "ppuVar2 = &PTR_DAT_0006e9a0" (identifier "ppuVar2") (= "=") (pointer_expression "&PTR_DAT_0006e9a0" (& "&") (identifier "PTR_DAT_0006e9a0"))) (; ";")) (expression_statement "__s1 = PTR_DAT_0006e9a0;" (assignment_expression "__s1 = PTR_DAT_0006e9a0" (identifier "__s1") (= "=") (identifier "PTR_DAT_0006e9a0")) (; ";")) (do_statement "do {\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    } while (__s1 != (char *)0x0);" (do "do") (compound_statement "{\n      iVar1 = strcmp(__s1,param_1);\n      if (iVar1 == 0) {\n        return ppuVar2;\n      }\n      ppuVar2 = ppuVar2 + 7;\n      __s1 = *ppuVar2;\n    }" ({ "{") (expression_statement "iVar1 = strcmp(__s1,param_1);" (assignment_expression "iVar1 = strcmp(__s1,param_1)" (identifier "iVar1") (= "=") (call_expression "strcmp(__s1,param_1)" (identifier "strcmp") (argument_list "(__s1,param_1)" (( "(") (identifier "__s1") (, ",") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n        return ppuVar2;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return ppuVar2;\n      }" ({ "{") (return_statement "return ppuVar2;" (return "return") (identifier "ppuVar2") (; ";")) (} "}"))) (expression_statement "ppuVar2 = ppuVar2 + 7;" (assignment_expression "ppuVar2 = ppuVar2 + 7" (identifier "ppuVar2") (= "=") (binary_expression "ppuVar2 + 7" (identifier "ppuVar2") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "__s1 = *ppuVar2;" (assignment_expression "__s1 = *ppuVar2" (identifier "__s1") (= "=") (pointer_expression "*ppuVar2" (* "*") (identifier "ppuVar2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(__s1 != (char *)0x0)" (( "(") (binary_expression "__s1 != (char *)0x0" (identifier "__s1") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (return_statement "return (undefined **)0x0;" (return "return") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (; ";")) (} "}"))

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

type_1 * __regparm3 lookup_arch(char *name)

{
  int var_2;
  char *var_4;
  type_1 *var_3;
  
  if (sparc_arch_table[0].name != (char *)0x0) {
    var_3 = sparc_arch_table;
    var_4 = sparc_arch_table[0].name;
    do {
      var_2 = var_1(var_4,name);
      if (var_2 == 0) {
        return var_3;
      }
      var_3 = var_3 + 1;
      var_4 = var_3->name;
    } while (var_4 != (char *)0x0);
  }
  return (type_1 *)0x0;
}


(translation_unit (ERROR (binary_expression left: (identifier) (ERROR (pointer_expression argument: (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))))

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

undefined ** __regparm3 MASKED(char *param_1)

{
  int iVar1;
  char *__s1;
  undefined **ppuVar2;
  
  if (PTR_DAT_0006e9a0 != (undefined *)0x0) {
    ppuVar2 = &PTR_DAT_0006e9a0;
    __s1 = PTR_DAT_0006e9a0;
    do {
      iVar1 = strcmp(__s1,param_1);
      if (iVar1 == 0) {
        return ppuVar2;
      }
      ppuVar2 = ppuVar2 + 7;
      __s1 = *ppuVar2;
    } while (__s1 != (char *)0x0);
  }
  return (undefined **)0x0;
}

