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

hwtype * get_hwtype(char *name)

{
}



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

undefined ** __regparm3 FUN_000360a1(char *param_1)

{
  char *__s1;
  int iVar1;
  undefined **ppuVar2;
  undefined **ppuVar3;
  
  __s1 = "loop";
  ppuVar3 = &PTR_PTR_DAT_000db4a8;
  ppuVar2 = &PTR_DAT_000da9c0;
  while( true ) {
    iVar1 = strcmp(__s1,param_1);
    if (iVar1 == 0) {
      return ppuVar2;
    }
    ppuVar3 = ppuVar3 + 1;
    ppuVar2 = (undefined **)*ppuVar3;
    if (ppuVar2 == (undefined **)0x0) break;
    __s1 = *ppuVar2;
  }
  return (undefined **)0x0;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0xc
CALL 0x00017650
ADD EBX,0xa5973
MOV EBP,EAX
LEA EAX,[EBX + 0xffff5219]
LEA EDI,[EBX + 0xfffffa88]
LEA ESI,[EBX + 0xffffefa0]
SUB ESP,0x8
PUSH EBP
PUSH EAX
CALL 0x00016140
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000360e2
MOV EAX,ESI
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
ADD EDI,0x4
MOV ESI,dword ptr [EDI]
TEST ESI,ESI
JZ 0x000360d8
MOV EAX,dword ptr [ESI]
JMP 0x000360c7
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined ** __regparm3 FUN_000360a1(char *param_1)\n\n{\n  char *__s1;\n  int iVar1;\n  undefined **ppuVar2;\n  undefined **ppuVar3;\n  \n  __s1 = "loop";\n  ppuVar3 = &PTR_PTR_DAT_000db4a8;\n  ppuVar2 = &PTR_DAT_000da9c0;\n  while( true ) {\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\n    __s1 = *ppuVar2;\n  }\n  return (undefined **)0x0;\n}\n\n" comment (ERROR "undefined ** __regparm3 FUN_000360a1(char *param_1)" (binary_expression "undefined ** __regparm3 FUN_000360a1(char *param_1)" identifier * (ERROR "* __regparm3" (pointer_expression "* __regparm3" * identifier)) (call_expression "FUN_000360a1(char *param_1)" identifier (argument_list "(char *param_1)" ( (binary_expression "char *param_1" identifier * identifier) ))))) (compound_statement "{\n  char *__s1;\n  int iVar1;\n  undefined **ppuVar2;\n  undefined **ppuVar3;\n  \n  __s1 = "loop";\n  ppuVar3 = &PTR_PTR_DAT_000db4a8;\n  ppuVar2 = &PTR_DAT_000da9c0;\n  while( true ) {\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\n    __s1 = *ppuVar2;\n  }\n  return (undefined **)0x0;\n}" { (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "undefined **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (expression_statement "__s1 = "loop";" (assignment_expression "__s1 = "loop"" identifier = (string_literal ""loop"" " string_content ")) ;) (expression_statement "ppuVar3 = &PTR_PTR_DAT_000db4a8;" (assignment_expression "ppuVar3 = &PTR_PTR_DAT_000db4a8" identifier = (pointer_expression "&PTR_PTR_DAT_000db4a8" & identifier)) ;) (expression_statement "ppuVar2 = &PTR_DAT_000da9c0;" (assignment_expression "ppuVar2 = &PTR_DAT_000da9c0" identifier = (pointer_expression "&PTR_DAT_000da9c0" & identifier)) ;) (while_statement "while( true ) {\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\n    __s1 = *ppuVar2;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\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 "ppuVar3 = ppuVar3 + 1;" (assignment_expression "ppuVar3 = ppuVar3 + 1" identifier = (binary_expression "ppuVar3 + 1" identifier + number_literal)) ;) (expression_statement "ppuVar2 = (undefined **)*ppuVar3;" (assignment_expression "ppuVar2 = (undefined **)*ppuVar3" identifier = (cast_expression "(undefined **)*ppuVar3" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar3" * identifier))) ;) (if_statement "if (ppuVar2 == (undefined **)0x0) break;" if (parenthesized_expression "(ppuVar2 == (undefined **)0x0)" ( (binary_expression "ppuVar2 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "__s1 = *ppuVar2;" (assignment_expression "__s1 = *ppuVar2" identifier = (pointer_expression "*ppuVar2" * identifier)) ;) })) (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\nhwtype * get_hwtype(char *name)\n\n{\n}\n\n" comment (function_definition "hwtype * get_hwtype(char *name)\n\n{\n}" type_identifier (pointer_declarator "* get_hwtype(char *name)" * (function_declarator "get_hwtype(char *name)" identifier (parameter_list "(char *name)" ( (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) )))) (compound_statement "{\n}" { })))
(translation_unit "undefined ** __regparm3 FUN_000360a1(char *param_1)\n\n{\n  char *__s1;\n  int iVar1;\n  undefined **ppuVar2;\n  undefined **ppuVar3;\n  \n  __s1 = "loop";\n  ppuVar3 = &PTR_PTR_DAT_000db4a8;\n  ppuVar2 = &PTR_DAT_000da9c0;\n  while( true ) {\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\n    __s1 = *ppuVar2;\n  }\n  return (undefined **)0x0;\n}\n\n" (ERROR "undefined ** __regparm3 FUN_000360a1(char *param_1)" (binary_expression "undefined ** __regparm3 FUN_000360a1(char *param_1)" identifier * (ERROR "* __regparm3" (pointer_expression "* __regparm3" * identifier)) (call_expression "FUN_000360a1(char *param_1)" identifier (argument_list "(char *param_1)" ( (binary_expression "char *param_1" identifier * identifier) ))))) (compound_statement "{\n  char *__s1;\n  int iVar1;\n  undefined **ppuVar2;\n  undefined **ppuVar3;\n  \n  __s1 = "loop";\n  ppuVar3 = &PTR_PTR_DAT_000db4a8;\n  ppuVar2 = &PTR_DAT_000da9c0;\n  while( true ) {\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\n    __s1 = *ppuVar2;\n  }\n  return (undefined **)0x0;\n}" { (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "undefined **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (expression_statement "__s1 = "loop";" (assignment_expression "__s1 = "loop"" identifier = (string_literal ""loop"" " string_content ")) ;) (expression_statement "ppuVar3 = &PTR_PTR_DAT_000db4a8;" (assignment_expression "ppuVar3 = &PTR_PTR_DAT_000db4a8" identifier = (pointer_expression "&PTR_PTR_DAT_000db4a8" & identifier)) ;) (expression_statement "ppuVar2 = &PTR_DAT_000da9c0;" (assignment_expression "ppuVar2 = &PTR_DAT_000da9c0" identifier = (pointer_expression "&PTR_DAT_000da9c0" & identifier)) ;) (while_statement "while( true ) {\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\n    __s1 = *ppuVar2;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\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 "ppuVar3 = ppuVar3 + 1;" (assignment_expression "ppuVar3 = ppuVar3 + 1" identifier = (binary_expression "ppuVar3 + 1" identifier + number_literal)) ;) (expression_statement "ppuVar2 = (undefined **)*ppuVar3;" (assignment_expression "ppuVar2 = (undefined **)*ppuVar3" identifier = (cast_expression "(undefined **)*ppuVar3" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar3" * identifier))) ;) (if_statement "if (ppuVar2 == (undefined **)0x0) break;" if (parenthesized_expression "(ppuVar2 == (undefined **)0x0)" ( (binary_expression "ppuVar2 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "__s1 = *ppuVar2;" (assignment_expression "__s1 = *ppuVar2" identifier = (pointer_expression "*ppuVar2" * identifier)) ;) })) (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) ;) }))
(ERROR "undefined ** __regparm3 FUN_000360a1(char *param_1)" (binary_expression "undefined ** __regparm3 FUN_000360a1(char *param_1)" (identifier "undefined") (* "*") (ERROR "* __regparm3" (pointer_expression "* __regparm3" (* "*") (identifier "__regparm3"))) (call_expression "FUN_000360a1(char *param_1)" (identifier "FUN_000360a1") (argument_list "(char *param_1)" (( "(") (binary_expression "char *param_1" (identifier "char") (* "*") (identifier "param_1")) () ")"))))) (compound_statement "{\n  char *__s1;\n  int iVar1;\n  undefined **ppuVar2;\n  undefined **ppuVar3;\n  \n  __s1 = "loop";\n  ppuVar3 = &PTR_PTR_DAT_000db4a8;\n  ppuVar2 = &PTR_DAT_000da9c0;\n  while( true ) {\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\n    __s1 = *ppuVar2;\n  }\n  return (undefined **)0x0;\n}" ({ "{") (declaration "char *__s1;" (primitive_type "char") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined **ppuVar2;" (type_identifier "undefined") (pointer_declarator "**ppuVar2" (* "*") (pointer_declarator "*ppuVar2" (* "*") (identifier "ppuVar2"))) (; ";")) (declaration "undefined **ppuVar3;" (type_identifier "undefined") (pointer_declarator "**ppuVar3" (* "*") (pointer_declarator "*ppuVar3" (* "*") (identifier "ppuVar3"))) (; ";")) (expression_statement "__s1 = "loop";" (assignment_expression "__s1 = "loop"" (identifier "__s1") (= "=") (string_literal ""loop"" (" """) (string_content "loop") (" """))) (; ";")) (expression_statement "ppuVar3 = &PTR_PTR_DAT_000db4a8;" (assignment_expression "ppuVar3 = &PTR_PTR_DAT_000db4a8" (identifier "ppuVar3") (= "=") (pointer_expression "&PTR_PTR_DAT_000db4a8" (& "&") (identifier "PTR_PTR_DAT_000db4a8"))) (; ";")) (expression_statement "ppuVar2 = &PTR_DAT_000da9c0;" (assignment_expression "ppuVar2 = &PTR_DAT_000da9c0" (identifier "ppuVar2") (= "=") (pointer_expression "&PTR_DAT_000da9c0" (& "&") (identifier "PTR_DAT_000da9c0"))) (; ";")) (while_statement "while( true ) {\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\n    __s1 = *ppuVar2;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    iVar1 = strcmp(__s1,param_1);\n    if (iVar1 == 0) {\n      return ppuVar2;\n    }\n    ppuVar3 = ppuVar3 + 1;\n    ppuVar2 = (undefined **)*ppuVar3;\n    if (ppuVar2 == (undefined **)0x0) break;\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 "ppuVar3 = ppuVar3 + 1;" (assignment_expression "ppuVar3 = ppuVar3 + 1" (identifier "ppuVar3") (= "=") (binary_expression "ppuVar3 + 1" (identifier "ppuVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppuVar2 = (undefined **)*ppuVar3;" (assignment_expression "ppuVar2 = (undefined **)*ppuVar3" (identifier "ppuVar2") (= "=") (cast_expression "(undefined **)*ppuVar3" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar3" (* "*") (identifier "ppuVar3")))) (; ";")) (if_statement "if (ppuVar2 == (undefined **)0x0) break;" (if "if") (parenthesized_expression "(ppuVar2 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar2 == (undefined **)0x0" (identifier "ppuVar2") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "__s1 = *ppuVar2;" (assignment_expression "__s1 = *ppuVar2" (identifier "__s1") (= "=") (pointer_expression "*ppuVar2" (* "*") (identifier "ppuVar2"))) (; ";")) (} "}"))) (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 * function_1(char *name)

{
}


(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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (true)) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (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)

{
  char *__s1;
  int iVar1;
  undefined **ppuVar2;
  undefined **ppuVar3;
  
  __s1 = "loop";
  ppuVar3 = &PTR_PTR_DAT_000db4a8;
  ppuVar2 = &PTR_DAT_000da9c0;
  while( true ) {
    iVar1 = strcmp(__s1,param_1);
    if (iVar1 == 0) {
      return ppuVar2;
    }
    ppuVar3 = ppuVar3 + 1;
    ppuVar2 = (undefined **)*ppuVar3;
    if (ppuVar2 == (undefined **)0x0) break;
    __s1 = *ppuVar2;
  }
  return (undefined **)0x0;
}

