
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void print_cref(Cref * this, Symbol_table * symtab, FILE * f) */

void __thiscall gold::Cref::print_cref(Cref *this,Symbol_table *symtab,FILE *f)

{
  char *pcVar1;
  size_t sVar2;
  undefined8 uVar3;
  
  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");
  fprintf((FILE *)f,pcVar1);
  pcVar1 = (char *)gettext("Symbol");
  sVar2 = strlen(pcVar1);
  uVar3 = gettext(&DAT_0038b01e);
  fprintf((FILE *)f,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);
  if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  if (((parameters->options_->cref_).value != false) && (this->inputs_ != (Cref_inputs *)0x0)) {
    Cref_inputs::print_cref(this->inputs_,symtab,f);
    return;
  }
  return;
}



void FUN_00297950(long *param_1,undefined8 param_2,FILE *param_3)

{
  char *pcVar1;
  size_t sVar2;
  undefined8 uVar3;
  
  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");
  fprintf(param_3,pcVar1);
  pcVar1 = (char *)gettext("Symbol");
  sVar2 = strlen(pcVar1);
  uVar3 = gettext(&DAT_0038b01e);
  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);
  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {
    FUN_00297630(*param_1,param_2,param_3);
    return;
  }
  return;
}


PUSH R14
PUSH R13
MOV R13,RSI
PUSH R12
MOV R12,RDI
LEA RDI,[0x38affe]
PUSH RBP
PUSH RBX
MOV RBX,RDX
CALL 0x00147320
MOV RDI,RBX
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00147a00
LEA RDI,[0x38b017]
CALL 0x00147320
MOV RDI,RAX
MOV RBP,RAX
CALL 0x00147490
LEA RDI,[0x38b01e]
MOV R14,RAX
CALL 0x00147320
MOV ECX,0x32
MOV RDX,RBP
MOV RDI,RBX
MOV R9,RAX
SUB ECX,R14D
MOV R8D,0x20
XOR EAX,EAX
LEA RSI,[0x38b023]
CALL 0x00147a00
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x00297a09
CMP byte ptr [RAX + 0x10b1],0x0
JZ 0x00297a00
MOV RDI,qword ptr [R12]
TEST RDI,RDI
JZ 0x00297a00
MOV RDX,RBX
MOV RSI,R13
POP RBX
POP RBP
POP R12
POP R13
POP R14
JMP 0x00297630
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
LEA RDX,[0x38b060]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
(translation_unit "void FUN_00297950(long *param_1,undefined8 param_2,FILE *param_3)\n\n{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf(param_3,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00297950(long *param_1,undefined8 param_2,FILE *param_3)\n\n{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf(param_3,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00297950(long *param_1,undefined8 param_2,FILE *param_3)" identifier (parameter_list "(long *param_1,undefined8 param_2,FILE *param_3)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "FILE *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf(param_3,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (expression_statement "pcVar1 = (char *)gettext("\nCross Reference Table\n\n");" (assignment_expression "pcVar1 = (char *)gettext("\nCross Reference Table\n\n")" identifier = (cast_expression "(char *)gettext("\nCross Reference Table\n\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("\nCross Reference Table\n\n")" identifier (argument_list "("\nCross Reference Table\n\n")" ( (string_literal ""\nCross Reference Table\n\n"" " escape_sequence string_content escape_sequence escape_sequence ") ))))) ;) (expression_statement "fprintf(param_3,pcVar1);" (call_expression "fprintf(param_3,pcVar1)" identifier (argument_list "(param_3,pcVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar1 = (char *)gettext("Symbol");" (assignment_expression "pcVar1 = (char *)gettext("Symbol")" identifier = (cast_expression "(char *)gettext("Symbol")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Symbol")" identifier (argument_list "("Symbol")" ( (string_literal ""Symbol"" " string_content ") ))))) ;) (expression_statement "sVar2 = strlen(pcVar1);" (assignment_expression "sVar2 = strlen(pcVar1)" identifier = (call_expression "strlen(pcVar1)" identifier (argument_list "(pcVar1)" ( identifier )))) ;) (expression_statement "uVar3 = gettext(&DAT_0038b01e);" (assignment_expression "uVar3 = gettext(&DAT_0038b01e)" identifier = (call_expression "gettext(&DAT_0038b01e)" identifier (argument_list "(&DAT_0038b01e)" ( (pointer_expression "&DAT_0038b01e" & identifier) )))) ;) (expression_statement "fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);" (call_expression "fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3)" identifier (argument_list "(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3)" ( identifier , (string_literal ""%s%*c%s\n"" " string_content escape_sequence ") , identifier , (call_expression "(ulong)(0x32 - (int)sVar2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(0x32 - (int)sVar2)" ( (binary_expression "0x32 - (int)sVar2" number_literal - (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal , identifier ))) ;) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }" if (parenthesized_expression "((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0))" ( (binary_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)" (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*param_1 != 0)" ( (binary_expression "*param_1 != 0" (pointer_expression "*param_1" * identifier) != number_literal) ))) )) (compound_statement "{\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }" { (expression_statement "FUN_00297630(*param_1,param_2,param_3);" (call_expression "FUN_00297630(*param_1,param_2,param_3)" identifier (argument_list "(*param_1,param_2,param_3)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void print_cref(Cref * this, Symbol_table * symtab, FILE * f) */\n\nvoid __thiscall gold::Cref::print_cref(Cref *this,Symbol_table *symtab,FILE *f)\n\n{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf((FILE *)f,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf((FILE *)f,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if (((parameters->options_->cref_).value != false) && (this->inputs_ != (Cref_inputs *)0x0)) {\n    Cref_inputs::print_cref(this->inputs_,symtab,f);\n    return;\n  }\n  return;\n}\n\n" comment comment (function_definition "void __thiscall gold::Cref::print_cref(Cref *this,Symbol_table *symtab,FILE *f)\n\n{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf((FILE *)f,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf((FILE *)f,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if (((parameters->options_->cref_).value != false) && (this->inputs_ != (Cref_inputs *)0x0)) {\n    Cref_inputs::print_cref(this->inputs_,symtab,f);\n    return;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Cref::" identifier : : identifier : :) (function_declarator "print_cref(Cref *this,Symbol_table *symtab,FILE *f)" identifier (parameter_list "(Cref *this,Symbol_table *symtab,FILE *f)" ( (parameter_declaration "Cref *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "FILE *f" type_identifier (pointer_declarator "*f" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf((FILE *)f,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf((FILE *)f,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if (((parameters->options_->cref_).value != false) && (this->inputs_ != (Cref_inputs *)0x0)) {\n    Cref_inputs::print_cref(this->inputs_,symtab,f);\n    return;\n  }\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (expression_statement "pcVar1 = (char *)gettext("\nCross Reference Table\n\n");" (assignment_expression "pcVar1 = (char *)gettext("\nCross Reference Table\n\n")" identifier = (cast_expression "(char *)gettext("\nCross Reference Table\n\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("\nCross Reference Table\n\n")" identifier (argument_list "("\nCross Reference Table\n\n")" ( (string_literal ""\nCross Reference Table\n\n"" " escape_sequence string_content escape_sequence escape_sequence ") ))))) ;) (expression_statement "fprintf((FILE *)f,pcVar1);" (call_expression "fprintf((FILE *)f,pcVar1)" identifier (argument_list "((FILE *)f,pcVar1)" ( (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "pcVar1 = (char *)gettext("Symbol");" (assignment_expression "pcVar1 = (char *)gettext("Symbol")" identifier = (cast_expression "(char *)gettext("Symbol")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Symbol")" identifier (argument_list "("Symbol")" ( (string_literal ""Symbol"" " string_content ") ))))) ;) (expression_statement "sVar2 = strlen(pcVar1);" (assignment_expression "sVar2 = strlen(pcVar1)" identifier = (call_expression "strlen(pcVar1)" identifier (argument_list "(pcVar1)" ( identifier )))) ;) (expression_statement "uVar3 = gettext(&DAT_0038b01e);" (assignment_expression "uVar3 = gettext(&DAT_0038b01e)" identifier = (call_expression "gettext(&DAT_0038b01e)" identifier (argument_list "(&DAT_0038b01e)" ( (pointer_expression "&DAT_0038b01e" & identifier) )))) ;) (expression_statement "fprintf((FILE *)f,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);" (call_expression "fprintf((FILE *)f,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3)" identifier (argument_list "((FILE *)f,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3)" ( (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%s%*c%s\n"" " string_content escape_sequence ") , identifier , (call_expression "(ulong)(0x32 - (int)sVar2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(0x32 - (int)sVar2)" ( (binary_expression "0x32 - (int)sVar2" number_literal - (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal , identifier ))) ;) (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (((parameters->options_->cref_).value != false) && (this->inputs_ != (Cref_inputs *)0x0)) {\n    Cref_inputs::print_cref(this->inputs_,symtab,f);\n    return;\n  }" if (parenthesized_expression "(((parameters->options_->cref_).value != false) && (this->inputs_ != (Cref_inputs *)0x0))" ( (binary_expression "((parameters->options_->cref_).value != false) && (this->inputs_ != (Cref_inputs *)0x0)" (parenthesized_expression "((parameters->options_->cref_).value != false)" ( (binary_expression "(parameters->options_->cref_).value != false" (field_expression "(parameters->options_->cref_).value" (parenthesized_expression "(parameters->options_->cref_)" ( (field_expression "parameters->options_->cref_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) && (parenthesized_expression "(this->inputs_ != (Cref_inputs *)0x0)" ( (binary_expression "this->inputs_ != (Cref_inputs *)0x0" (field_expression "this->inputs_" identifier -> field_identifier) != (cast_expression "(Cref_inputs *)0x0" ( (type_descriptor "Cref_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    Cref_inputs::print_cref(this->inputs_,symtab,f);\n    return;\n  }" { (labeled_statement "Cref_inputs::print_cref(this->inputs_,symtab,f);" statement_identifier : (ERROR ":" :) (expression_statement "print_cref(this->inputs_,symtab,f);" (call_expression "print_cref(this->inputs_,symtab,f)" identifier (argument_list "(this->inputs_,symtab,f)" ( (field_expression "this->inputs_" identifier -> field_identifier) , identifier , identifier ))) ;)) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00297950(long *param_1,undefined8 param_2,FILE *param_3)\n\n{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf(param_3,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00297950(long *param_1,undefined8 param_2,FILE *param_3)\n\n{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf(param_3,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00297950(long *param_1,undefined8 param_2,FILE *param_3)" identifier (parameter_list "(long *param_1,undefined8 param_2,FILE *param_3)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "FILE *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf(param_3,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (expression_statement "pcVar1 = (char *)gettext("\nCross Reference Table\n\n");" (assignment_expression "pcVar1 = (char *)gettext("\nCross Reference Table\n\n")" identifier = (cast_expression "(char *)gettext("\nCross Reference Table\n\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("\nCross Reference Table\n\n")" identifier (argument_list "("\nCross Reference Table\n\n")" ( (string_literal ""\nCross Reference Table\n\n"" " escape_sequence string_content escape_sequence escape_sequence ") ))))) ;) (expression_statement "fprintf(param_3,pcVar1);" (call_expression "fprintf(param_3,pcVar1)" identifier (argument_list "(param_3,pcVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar1 = (char *)gettext("Symbol");" (assignment_expression "pcVar1 = (char *)gettext("Symbol")" identifier = (cast_expression "(char *)gettext("Symbol")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Symbol")" identifier (argument_list "("Symbol")" ( (string_literal ""Symbol"" " string_content ") ))))) ;) (expression_statement "sVar2 = strlen(pcVar1);" (assignment_expression "sVar2 = strlen(pcVar1)" identifier = (call_expression "strlen(pcVar1)" identifier (argument_list "(pcVar1)" ( identifier )))) ;) (expression_statement "uVar3 = gettext(&DAT_0038b01e);" (assignment_expression "uVar3 = gettext(&DAT_0038b01e)" identifier = (call_expression "gettext(&DAT_0038b01e)" identifier (argument_list "(&DAT_0038b01e)" ( (pointer_expression "&DAT_0038b01e" & identifier) )))) ;) (expression_statement "fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);" (call_expression "fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3)" identifier (argument_list "(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3)" ( identifier , (string_literal ""%s%*c%s\n"" " string_content escape_sequence ") , identifier , (call_expression "(ulong)(0x32 - (int)sVar2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(0x32 - (int)sVar2)" ( (binary_expression "0x32 - (int)sVar2" number_literal - (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal , identifier ))) ;) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }" if (parenthesized_expression "((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0))" ( (binary_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)" (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*param_1 != 0)" ( (binary_expression "*param_1 != 0" (pointer_expression "*param_1" * identifier) != number_literal) ))) )) (compound_statement "{\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }" { (expression_statement "FUN_00297630(*param_1,param_2,param_3);" (call_expression "FUN_00297630(*param_1,param_2,param_3)" identifier (argument_list "(*param_1,param_2,param_3)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence escape_sequence ") ))))) ;) (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 ( (string_literal " string_content ") ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT ))) ;) (return_statement return ;) })) (return_statement return ;) })))
(function_definition "void FUN_00297950(long *param_1,undefined8 param_2,FILE *param_3)\n\n{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf(param_3,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00297950(long *param_1,undefined8 param_2,FILE *param_3)" (identifier "FUN_00297950") (parameter_list "(long *param_1,undefined8 param_2,FILE *param_3)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "FILE *param_3" (type_identifier "FILE") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  char *pcVar1;\n  size_t sVar2;\n  undefined8 uVar3;\n  \n  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");\n  fprintf(param_3,pcVar1);\n  pcVar1 = (char *)gettext("Symbol");\n  sVar2 = strlen(pcVar1);\n  uVar3 = gettext(&DAT_0038b01e);\n  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }\n  return;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "size_t sVar2;" (primitive_type "size_t") (identifier "sVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (expression_statement "pcVar1 = (char *)gettext("\nCross Reference Table\n\n");" (assignment_expression "pcVar1 = (char *)gettext("\nCross Reference Table\n\n")" (identifier "pcVar1") (= "=") (cast_expression "(char *)gettext("\nCross Reference Table\n\n")" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gettext("\nCross Reference Table\n\n")" (identifier "gettext") (argument_list "("\nCross Reference Table\n\n")" (( "(") (string_literal ""\nCross Reference Table\n\n"" (" """) (escape_sequence "\n") (string_content "Cross Reference Table") (escape_sequence "\n") (escape_sequence "\n") (" """)) () ")"))))) (; ";")) (expression_statement "fprintf(param_3,pcVar1);" (call_expression "fprintf(param_3,pcVar1)" (identifier "fprintf") (argument_list "(param_3,pcVar1)" (( "(") (identifier "param_3") (, ",") (identifier "pcVar1") () ")"))) (; ";")) (expression_statement "pcVar1 = (char *)gettext("Symbol");" (assignment_expression "pcVar1 = (char *)gettext("Symbol")" (identifier "pcVar1") (= "=") (cast_expression "(char *)gettext("Symbol")" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gettext("Symbol")" (identifier "gettext") (argument_list "("Symbol")" (( "(") (string_literal ""Symbol"" (" """) (string_content "Symbol") (" """)) () ")"))))) (; ";")) (expression_statement "sVar2 = strlen(pcVar1);" (assignment_expression "sVar2 = strlen(pcVar1)" (identifier "sVar2") (= "=") (call_expression "strlen(pcVar1)" (identifier "strlen") (argument_list "(pcVar1)" (( "(") (identifier "pcVar1") () ")")))) (; ";")) (expression_statement "uVar3 = gettext(&DAT_0038b01e);" (assignment_expression "uVar3 = gettext(&DAT_0038b01e)" (identifier "uVar3") (= "=") (call_expression "gettext(&DAT_0038b01e)" (identifier "gettext") (argument_list "(&DAT_0038b01e)" (( "(") (pointer_expression "&DAT_0038b01e" (& "&") (identifier "DAT_0038b01e")) () ")")))) (; ";")) (expression_statement "fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);" (call_expression "fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3)" (identifier "fprintf") (argument_list "(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3)" (( "(") (identifier "param_3") (, ",") (string_literal ""%s%*c%s\n"" (" """) (string_content "%s%*c%s") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar1") (, ",") (call_expression "(ulong)(0x32 - (int)sVar2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(0x32 - (int)sVar2)" (( "(") (binary_expression "0x32 - (int)sVar2" (number_literal "0x32") (- "-") (cast_expression "(int)sVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar2"))) () ")"))) (, ",") (number_literal "0x20") (, ",") (identifier "uVar3") () ")"))) (; ";")) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }" (if "if") (parenthesized_expression "((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0))" (( "(") (binary_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)" (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x10b1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*param_1 != 0)" (( "(") (binary_expression "*param_1 != 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    FUN_00297630(*param_1,param_2,param_3);\n    return;\n  }" ({ "{") (expression_statement "FUN_00297630(*param_1,param_2,param_3);" (call_expression "FUN_00297630(*param_1,param_2,param_3)" (identifier "FUN_00297630") (argument_list "(*param_1,param_2,param_3)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void print_cref(Cref * this, Symbol_table * symtab, FILE * f) */

void __thiscall gold::type_1::function_1(type_1 *this,type_2 *symtab,type_3 *f)

{
  char *pcVar1;
  size_t sVar2;
  type_4 uVar3;
  
  pcVar1 = (char *)var_1("\nCross Reference Table\n\n");
  var_2((type_3 *)f,pcVar1);
  pcVar1 = (char *)var_1("Symbol");
  sVar2 = var_3(pcVar1);
  uVar3 = var_1(&DAT_0038b01e);
  var_2((type_3 *)f,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);
  if (parameters->options_ == (type_5 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_4("../../gold/parameters.h",0x5c,"options");
  }
  if (((parameters->options_->cref_).value != false) && (this->inputs_ != (type_6 *)0x0)) {
    Cref_inputs::function_1(this->inputs_,symtab,f);
    return;
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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 (string_literal (escape_sequence) (string_content) (escape_sequence) (escape_sequence))))))) (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 (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier) (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier)))) (return_statement))) (return_statement))))

void MASKED(long *param_1,undefined8 param_2,FILE *param_3)

{
  char *pcVar1;
  size_t sVar2;
  undefined8 uVar3;
  
  pcVar1 = (char *)gettext("\nCross Reference Table\n\n");
  fprintf(param_3,pcVar1);
  pcVar1 = (char *)gettext("Symbol");
  sVar2 = strlen(pcVar1);
  uVar3 = gettext(&DAT_0038b01e);
  fprintf(param_3,"%s%*c%s\n",pcVar1,(ulong)(0x32 - (int)sVar2),0x20,uVar3);
  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
  if ((*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x10b1) != '\0') && (*param_1 != 0)) {
    FUN_00297630(*param_1,param_2,param_3);
    return;
  }
  return;
}

