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

char * __regparm3 get_symbol_visibility(uint visibility)

{
  char *pcVar1;
  
  if (visibility != 1) {
    pcVar1 = "DEFAULT";
    if (((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)) &&
       (pcVar1 = "PROTECTED", visibility != 3)) {
      pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5);
      error(pcVar1,visibility);
      pcVar1 = (char *)dcgettext(0,"<unknown>",5);
    }
    return pcVar1;
  }
  return "INTERNAL";
}



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

char * __regparm3 FUN_00023d60(int param_1)

{
  undefined4 uVar1;
  char *pcVar2;
  
  if (param_1 != 1) {
    pcVar2 = "DEFAULT";
    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&
       (pcVar2 = "PROTECTED", param_1 != 3)) {
      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);
      error(uVar1,param_1);
      pcVar2 = (char *)dcgettext(0,"<unknown>",5);
    }
    return pcVar2;
  }
  return "INTERNAL";
}


PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x90299
SUB ESP,0x4
CMP EAX,0x1
JZ 0x00023dd0
MOV ESI,EAX
LEA EAX,[EBX + 0xfffc31c2]
TEST ESI,ESI
JZ 0x00023dc9
LEA EAX,[EBX + 0xfffc31ca]
CMP ESI,0x2
JZ 0x00023dc9
LEA EAX,[EBX + 0xfffca1ca]
CMP ESI,0x3
JZ 0x00023dc9
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcdf80]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00066870
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc87d6]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0x10
ADD ESP,0x4
POP EBX
POP ESI
RET
ADD ESP,0x4
LEA EAX,[EBX + 0xfffc31d1]
POP EBX
POP ESI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar * __regparm3 FUN_00023d60(int param_1)\n\n{\n  undefined4 uVar1;\n  char *pcVar2;\n  \n  if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }\n  return "INTERNAL";\n}\n\n" comment (function_definition "char * __regparm3 FUN_00023d60(int param_1)\n\n{\n  undefined4 uVar1;\n  char *pcVar2;\n  \n  if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }\n  return "INTERNAL";\n}" primitive_type (pointer_declarator "* __regparm3 FUN_00023d60(int param_1)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_00023d60(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  undefined4 uVar1;\n  char *pcVar2;\n  \n  if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }\n  return "INTERNAL";\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (if_statement "if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }" if (parenthesized_expression "(param_1 != 1)" ( (binary_expression "param_1 != 1" identifier != number_literal) )) (compound_statement "{\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }" { (expression_statement "pcVar2 = "DEFAULT";" (assignment_expression "pcVar2 = "DEFAULT"" identifier = (string_literal ""DEFAULT"" " string_content ")) ;) (if_statement "if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }" if (parenthesized_expression "(((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3))" ( (binary_expression "((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)" (parenthesized_expression "((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2))" ( (binary_expression "(param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)" (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcVar2 = "HIDDEN", param_1 != 2)" ( (comma_expression "pcVar2 = "HIDDEN", param_1 != 2" (assignment_expression "pcVar2 = "HIDDEN"" identifier = (string_literal ""HIDDEN"" " string_content ")) , (binary_expression "param_1 != 2" identifier != number_literal)) ))) )) && (parenthesized_expression "(pcVar2 = "PROTECTED", param_1 != 3)" ( (comma_expression "pcVar2 = "PROTECTED", param_1 != 3" (assignment_expression "pcVar2 = "PROTECTED"" identifier = (string_literal ""PROTECTED"" " string_content ")) , (binary_expression "param_1 != 3" identifier != number_literal)) ))) )) (compound_statement "{\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }" { (expression_statement "uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);" (assignment_expression "uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5)" identifier = (call_expression "dcgettext(0,"Unrecognized visibility value: %u",5)" identifier (argument_list "(0,"Unrecognized visibility value: %u",5)" ( number_literal , (string_literal ""Unrecognized visibility value: %u"" " string_content ") , number_literal )))) ;) (expression_statement "error(uVar1,param_1);" (call_expression "error(uVar1,param_1)" identifier (argument_list "(uVar1,param_1)" ( identifier , identifier ))) ;) (expression_statement "pcVar2 = (char *)dcgettext(0,"<unknown>",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"<unknown>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<unknown>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<unknown>",5)" identifier (argument_list "(0,"<unknown>",5)" ( number_literal , (string_literal ""<unknown>"" " string_content ") , number_literal ))))) ;) })) (return_statement "return pcVar2;" return identifier ;) })) (return_statement "return "INTERNAL";" return (string_literal ""INTERNAL"" " string_content ") ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar * __regparm3 get_symbol_visibility(uint visibility)\n\n{\n  char *pcVar1;\n  \n  if (visibility != 1) {\n    pcVar1 = "DEFAULT";\n    if (((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)) &&\n       (pcVar1 = "PROTECTED", visibility != 3)) {\n      pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(pcVar1,visibility);\n      pcVar1 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar1;\n  }\n  return "INTERNAL";\n}\n\n" comment (function_definition "char * __regparm3 get_symbol_visibility(uint visibility)\n\n{\n  char *pcVar1;\n  \n  if (visibility != 1) {\n    pcVar1 = "DEFAULT";\n    if (((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)) &&\n       (pcVar1 = "PROTECTED", visibility != 3)) {\n      pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(pcVar1,visibility);\n      pcVar1 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar1;\n  }\n  return "INTERNAL";\n}" primitive_type (pointer_declarator "* __regparm3 get_symbol_visibility(uint visibility)" * (ERROR "__regparm3" identifier) (function_declarator "get_symbol_visibility(uint visibility)" identifier (parameter_list "(uint visibility)" ( (parameter_declaration "uint visibility" type_identifier identifier) )))) (compound_statement "{\n  char *pcVar1;\n  \n  if (visibility != 1) {\n    pcVar1 = "DEFAULT";\n    if (((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)) &&\n       (pcVar1 = "PROTECTED", visibility != 3)) {\n      pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(pcVar1,visibility);\n      pcVar1 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar1;\n  }\n  return "INTERNAL";\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (if_statement "if (visibility != 1) {\n    pcVar1 = "DEFAULT";\n    if (((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)) &&\n       (pcVar1 = "PROTECTED", visibility != 3)) {\n      pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(pcVar1,visibility);\n      pcVar1 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar1;\n  }" if (parenthesized_expression "(visibility != 1)" ( (binary_expression "visibility != 1" identifier != number_literal) )) (compound_statement "{\n    pcVar1 = "DEFAULT";\n    if (((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)) &&\n       (pcVar1 = "PROTECTED", visibility != 3)) {\n      pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(pcVar1,visibility);\n      pcVar1 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar1;\n  }" { (expression_statement "pcVar1 = "DEFAULT";" (assignment_expression "pcVar1 = "DEFAULT"" identifier = (string_literal ""DEFAULT"" " string_content ")) ;) (if_statement "if (((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)) &&\n       (pcVar1 = "PROTECTED", visibility != 3)) {\n      pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(pcVar1,visibility);\n      pcVar1 = (char *)dcgettext(0,"<unknown>",5);\n    }" if (parenthesized_expression "(((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)) &&\n       (pcVar1 = "PROTECTED", visibility != 3))" ( (binary_expression "((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)) &&\n       (pcVar1 = "PROTECTED", visibility != 3)" (parenthesized_expression "((visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2))" ( (binary_expression "(visibility != 0) && (pcVar1 = "HIDDEN", visibility != 2)" (parenthesized_expression "(visibility != 0)" ( (binary_expression "visibility != 0" identifier != number_literal) )) && (parenthesized_expression "(pcVar1 = "HIDDEN", visibility != 2)" ( (comma_expression "pcVar1 = "HIDDEN", visibility != 2" (assignment_expression "pcVar1 = "HIDDEN"" identifier = (string_literal ""HIDDEN"" " string_content ")) , (binary_expression "visibility != 2" identifier != number_literal)) ))) )) && (parenthesized_expression "(pcVar1 = "PROTECTED", visibility != 3)" ( (comma_expression "pcVar1 = "PROTECTED", visibility != 3" (assignment_expression "pcVar1 = "PROTECTED"" identifier = (string_literal ""PROTECTED"" " string_content ")) , (binary_expression "visibility != 3" identifier != number_literal)) ))) )) (compound_statement "{\n      pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(pcVar1,visibility);\n      pcVar1 = (char *)dcgettext(0,"<unknown>",5);\n    }" { (expression_statement "pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5);" (assignment_expression "pcVar1 = (char *)dcgettext(0,"Unrecognized visibility value: %u",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unrecognized visibility value: %u",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unrecognized visibility value: %u",5)" identifier (argument_list "(0,"Unrecognized visibility value: %u",5)" ( number_literal , (string_literal ""Unrecognized visibility value: %u"" " string_content ") , number_literal ))))) ;) (expression_statement "error(pcVar1,visibility);" (call_expression "error(pcVar1,visibility)" identifier (argument_list "(pcVar1,visibility)" ( identifier , identifier ))) ;) (expression_statement "pcVar1 = (char *)dcgettext(0,"<unknown>",5);" (assignment_expression "pcVar1 = (char *)dcgettext(0,"<unknown>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<unknown>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<unknown>",5)" identifier (argument_list "(0,"<unknown>",5)" ( number_literal , (string_literal ""<unknown>"" " string_content ") , number_literal ))))) ;) })) (return_statement "return pcVar1;" return identifier ;) })) (return_statement "return "INTERNAL";" return (string_literal ""INTERNAL"" " string_content ") ;) })))
(translation_unit "char * __regparm3 FUN_00023d60(int param_1)\n\n{\n  undefined4 uVar1;\n  char *pcVar2;\n  \n  if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }\n  return "INTERNAL";\n}\n\n" (function_definition "char * __regparm3 FUN_00023d60(int param_1)\n\n{\n  undefined4 uVar1;\n  char *pcVar2;\n  \n  if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }\n  return "INTERNAL";\n}" primitive_type (pointer_declarator "* __regparm3 FUN_00023d60(int param_1)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_00023d60(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  undefined4 uVar1;\n  char *pcVar2;\n  \n  if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }\n  return "INTERNAL";\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (if_statement "if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }" if (parenthesized_expression "(param_1 != 1)" ( (binary_expression "param_1 != 1" identifier != number_literal) )) (compound_statement "{\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }" { (expression_statement "pcVar2 = "DEFAULT";" (assignment_expression "pcVar2 = "DEFAULT"" identifier = (string_literal ""DEFAULT"" " string_content ")) ;) (if_statement "if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }" if (parenthesized_expression "(((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3))" ( (binary_expression "((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)" (parenthesized_expression "((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2))" ( (binary_expression "(param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)" (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcVar2 = "HIDDEN", param_1 != 2)" ( (comma_expression "pcVar2 = "HIDDEN", param_1 != 2" (assignment_expression "pcVar2 = "HIDDEN"" identifier = (string_literal ""HIDDEN"" " string_content ")) , (binary_expression "param_1 != 2" identifier != number_literal)) ))) )) && (parenthesized_expression "(pcVar2 = "PROTECTED", param_1 != 3)" ( (comma_expression "pcVar2 = "PROTECTED", param_1 != 3" (assignment_expression "pcVar2 = "PROTECTED"" identifier = (string_literal ""PROTECTED"" " string_content ")) , (binary_expression "param_1 != 3" identifier != number_literal)) ))) )) (compound_statement "{\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }" { (expression_statement "uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);" (assignment_expression "uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5)" identifier = (call_expression "dcgettext(0,"Unrecognized visibility value: %u",5)" identifier (argument_list "(0,"Unrecognized visibility value: %u",5)" ( number_literal , (string_literal ""Unrecognized visibility value: %u"" " string_content ") , number_literal )))) ;) (expression_statement "error(uVar1,param_1);" (call_expression "error(uVar1,param_1)" identifier (argument_list "(uVar1,param_1)" ( identifier , identifier ))) ;) (expression_statement "pcVar2 = (char *)dcgettext(0,"<unknown>",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"<unknown>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<unknown>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<unknown>",5)" identifier (argument_list "(0,"<unknown>",5)" ( number_literal , (string_literal ""<unknown>"" " string_content ") , number_literal ))))) ;) })) (return_statement "return pcVar2;" return identifier ;) })) (return_statement "return "INTERNAL";" return (string_literal ""INTERNAL"" " string_content ") ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) })) (return_statement return IDENT ;) })) (return_statement return (string_literal " string_content ") ;) })))
(function_definition "char * __regparm3 FUN_00023d60(int param_1)\n\n{\n  undefined4 uVar1;\n  char *pcVar2;\n  \n  if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }\n  return "INTERNAL";\n}" (primitive_type "char") (pointer_declarator "* __regparm3 FUN_00023d60(int param_1)" (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00023d60(int param_1)" (identifier "FUN_00023d60") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")")))) (compound_statement "{\n  undefined4 uVar1;\n  char *pcVar2;\n  \n  if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }\n  return "INTERNAL";\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (if_statement "if (param_1 != 1) {\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }" (if "if") (parenthesized_expression "(param_1 != 1)" (( "(") (binary_expression "param_1 != 1" (identifier "param_1") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n    pcVar2 = "DEFAULT";\n    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }\n    return pcVar2;\n  }" ({ "{") (expression_statement "pcVar2 = "DEFAULT";" (assignment_expression "pcVar2 = "DEFAULT"" (identifier "pcVar2") (= "=") (string_literal ""DEFAULT"" (" """) (string_content "DEFAULT") (" """))) (; ";")) (if_statement "if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)) {\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }" (if "if") (parenthesized_expression "(((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3))" (( "(") (binary_expression "((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&\n       (pcVar2 = "PROTECTED", param_1 != 3)" (parenthesized_expression "((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2))" (( "(") (binary_expression "(param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)" (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar2 = "HIDDEN", param_1 != 2)" (( "(") (comma_expression "pcVar2 = "HIDDEN", param_1 != 2" (assignment_expression "pcVar2 = "HIDDEN"" (identifier "pcVar2") (= "=") (string_literal ""HIDDEN"" (" """) (string_content "HIDDEN") (" """))) (, ",") (binary_expression "param_1 != 2" (identifier "param_1") (!= "!=") (number_literal "2"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar2 = "PROTECTED", param_1 != 3)" (( "(") (comma_expression "pcVar2 = "PROTECTED", param_1 != 3" (assignment_expression "pcVar2 = "PROTECTED"" (identifier "pcVar2") (= "=") (string_literal ""PROTECTED"" (" """) (string_content "PROTECTED") (" """))) (, ",") (binary_expression "param_1 != 3" (identifier "param_1") (!= "!=") (number_literal "3"))) () ")"))) () ")")) (compound_statement "{\n      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);\n      error(uVar1,param_1);\n      pcVar2 = (char *)dcgettext(0,"<unknown>",5);\n    }" ({ "{") (expression_statement "uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);" (assignment_expression "uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5)" (identifier "uVar1") (= "=") (call_expression "dcgettext(0,"Unrecognized visibility value: %u",5)" (identifier "dcgettext") (argument_list "(0,"Unrecognized visibility value: %u",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unrecognized visibility value: %u"" (" """) (string_content "Unrecognized visibility value: %u") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar1,param_1);" (call_expression "error(uVar1,param_1)" (identifier "error") (argument_list "(uVar1,param_1)" (( "(") (identifier "uVar1") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pcVar2 = (char *)dcgettext(0,"<unknown>",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"<unknown>",5)" (identifier "pcVar2") (= "=") (cast_expression "(char *)dcgettext(0,"<unknown>",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<unknown>",5)" (identifier "dcgettext") (argument_list "(0,"<unknown>",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<unknown>"" (" """) (string_content "<unknown>") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}"))) (return_statement "return pcVar2;" (return "return") (identifier "pcVar2") (; ";")) (} "}"))) (return_statement "return "INTERNAL";" (return "return") (string_literal ""INTERNAL"" (" """) (string_content "INTERNAL") (" """)) (; ";")) (} "}")))

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

char * __regparm3 function_1(type_1 var_1)

{
  char *pcVar1;
  
  if (var_1 != 1) {
    pcVar1 = "DEFAULT";
    if (((var_1 != 0) && (pcVar1 = "HIDDEN", var_1 != 2)) &&
       (pcVar1 = "PROTECTED", var_1 != 3)) {
      pcVar1 = (char *)var_2(0,"Unrecognized visibility value: %u",5);
      var_3(pcVar1,var_1);
      pcVar1 = (char *)var_2(0,"<unknown>",5);
    }
    return pcVar1;
  }
  return "INTERNAL";
}


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

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

char * __regparm3 MASKED(int param_1)

{
  undefined4 uVar1;
  char *pcVar2;
  
  if (param_1 != 1) {
    pcVar2 = "DEFAULT";
    if (((param_1 != 0) && (pcVar2 = "HIDDEN", param_1 != 2)) &&
       (pcVar2 = "PROTECTED", param_1 != 3)) {
      uVar1 = dcgettext(0,"Unrecognized visibility value: %u",5);
      error(uVar1,param_1);
      pcVar2 = (char *)dcgettext(0,"<unknown>",5);
    }
    return pcVar2;
  }
  return "INTERNAL";
}

