
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

void gold::parameters_force_valid_target(void)

{
  General_options *pGVar1;
  Target *target;
  char *pcVar2;
  
  if (parameters->target_ != (Target *)0x0) {
    return;
  }
  pGVar1 = parameters->options_;
  if (pGVar1 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.cc",0x147,"parameters_force_valid_target");
  }
  if ((pGVar1->oformat_).user_set_via_option != false) {
    target = select_target_by_bfd_name((pGVar1->oformat_).value);
    if (target != (Target *)0x0) goto LAB_0024b7ce;
    pcVar2 = (char *)gettext("unrecognized output format %s");
    gold_error(pcVar2);
    pGVar1 = parameters->options_;
    if (pGVar1 == (General_options *)0x0) goto LAB_0024b841;
  }
  if ((pGVar1->m_).user_set_via_option == false) {
    pGVar1 = parameters->options_;
  }
  else {
    target = select_target_by_emulation((pGVar1->m_).value);
    if (target != (Target *)0x0) goto LAB_0024b7ce;
    pcVar2 = (char *)gettext("unrecognized emulation %s");
    gold_error(pcVar2);
    pGVar1 = parameters->options_;
    if (pGVar1 == (General_options *)0x0) {
LAB_0024b841:
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
    }
  }
  if (pGVar1->endianness_ == ENDIANNESS_LITTLE) {
    target = select_target((Input_file *)0x0,0,0x16,0x40,false,0,0);
    if (target == (Target *)0x0) {
      pcVar2 = (char *)gettext("no supported target for -EB/-EL option");
                    /* WARNING: Subroutine does not return */
      gold_fatal(pcVar2);
    }
  }
  else {
    target = select_target((Input_file *)0x0,0,0x16,0x40,true,0,0);
    if (target == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");
    }
  }
LAB_0024b7ce:
  set_parameters_target(target);
  return;
}



void FUN_0024b760(void)

{
  long lVar1;
  undefined8 uVar2;
  undefined8 uVar3;
  
  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {
    return;
  }
  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);
  if (lVar1 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");
  }
  if (*(char *)(lVar1 + 0x40c0) != '\0') {
    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);
    lVar1 = FUN_0029d0a0(uVar3);
    if (lVar1 != 0) goto LAB_0024b7ce;
    uVar2 = gettext("unrecognized output format %s");
    FUN_001878b0(uVar2,uVar3);
    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);
    if (lVar1 == 0) goto LAB_0024b841;
  }
  if (*(char *)(lVar1 + 0x37a8) == '\0') {
    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);
  }
  else {
    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);
    lVar1 = FUN_0029d120(uVar3);
    if (lVar1 != 0) goto LAB_0024b7ce;
    uVar2 = gettext("unrecognized emulation %s");
    FUN_001878b0(uVar2,uVar3);
    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);
    if (lVar1 == 0) {
LAB_0024b841:
                    /* WARNING: Subroutine does not return */
      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");
    }
  }
  if (*(int *)(lVar1 + 0x92a4) == 2) {
    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);
    if (lVar1 == 0) {
      uVar3 = gettext("no supported target for -EB/-EL option");
                    /* WARNING: Subroutine does not return */
      FUN_00187770(uVar3);
    }
  }
  else {
    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);
    if (lVar1 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");
    }
  }
LAB_0024b7ce:
  FUN_0024b6a0(lVar1);
  return;
}


MOV RAX,qword ptr [0x0045c708]
CMP qword ptr [RAX + 0x18],0x0
JZ 0x0024b770
RET
PUSH RBX
MOV RDX,qword ptr [RAX + 0x10]
TEST RDX,RDX
JZ 0x0024b8f0
CMP byte ptr [RDX + 0x40c0],0x0
JNZ 0x0024b800
CMP byte ptr [RDX + 0x37a8],0x0
JNZ 0x0024b860
MOV RAX,qword ptr [RAX + 0x10]
CMP dword ptr [RAX + 0x92a4],0x2
JZ 0x0024b8b0
SUB RSP,0x8
XOR ESI,ESI
XOR EDI,EDI
XOR R9D,R9D
PUSH 0x0
MOV R8D,0x1
MOV ECX,0x40
MOV EDX,0x16
CALL 0x0029cfc0
POP RSI
POP RDI
TEST RAX,RAX
JZ 0x0024b7e0
MOV RDI,RAX
POP RBX
JMP 0x0024b6a0
LEA RDX,[0x39bd20]
MOV ESI,0x175
LEA RDI,[0x39bc24]
CALL 0x0018ff20
MOV RBX,qword ptr [RDX + 0x40c8]
MOV RDI,RBX
CALL 0x0029d0a0
TEST RAX,RAX
JNZ 0x0024b7ce
LEA RDI,[0x39bc3d]
CALL 0x00149320
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001878b0
MOV RAX,qword ptr [0x0045c708]
MOV RDX,qword ptr [RAX + 0x10]
TEST RDX,RDX
JNZ 0x0024b787
LEA RDX,[0x39bdd8]
MOV ESI,0x5c
LEA RDI,[0x382279]
CALL 0x0018ff20
MOV RBX,qword ptr [RDX + 0x37b0]
MOV RDI,RBX
CALL 0x0029d120
TEST RAX,RAX
JNZ 0x0024b7ce
LEA RDI,[0x39bc5b]
CALL 0x00149320
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001878b0
MOV RAX,qword ptr [0x0045c708]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JNZ 0x0024b798
JMP 0x0024b841
SUB RSP,0x8
MOV ECX,0x40
MOV EDX,0x16
XOR ESI,ESI
PUSH 0x0
XOR R9D,R9D
XOR R8D,R8D
XOR EDI,EDI
CALL 0x0029cfc0
POP RDX
POP RCX
TEST RAX,RAX
JNZ 0x0024b7ce
LEA RDI,[0x39bcf0]
CALL 0x00149320
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00187770
LEA RDX,[0x39bd20]
MOV ESI,0x147
LEA RDI,[0x39bc24]
CALL 0x0018ff20
(translation_unit "void FUN_0024b760(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  \n  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }\n  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }\n  if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  FUN_0024b6a0(lVar1);\n  return;\n}\n\n" (function_definition "void FUN_0024b760(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  \n  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }\n  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }\n  if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  FUN_0024b6a0(lVar1);\n  return;\n}" primitive_type (function_declarator "FUN_0024b760(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  \n  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }\n  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }\n  if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  FUN_0024b6a0(lVar1);\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (if_statement "if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0045c708 + 0x18) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0045c708 + 0x18) != 0" (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x18)" ( (binary_expression "PTR_DAT_0045c708 + 0x18" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }" { comment (expression_statement "FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");" (call_expression "FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target")" identifier (argument_list "("../../gold/parameters.cc",0x147,"parameters_force_valid_target")" ( (string_literal ""../../gold/parameters.cc"" " string_content ") , number_literal , (string_literal ""parameters_force_valid_target"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }" if (parenthesized_expression "(*(char *)(lVar1 + 0x40c0) != '\0')" ( (binary_expression "*(char *)(lVar1 + 0x40c0) != '\0'" (pointer_expression "*(char *)(lVar1 + 0x40c0)" * (cast_expression "(char *)(lVar1 + 0x40c0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x40c0)" ( (binary_expression "lVar1 + 0x40c0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }" { (expression_statement "uVar3 = *(undefined8 *)(lVar1 + 0x40c8);" (assignment_expression "uVar3 = *(undefined8 *)(lVar1 + 0x40c8)" identifier = (pointer_expression "*(undefined8 *)(lVar1 + 0x40c8)" * (cast_expression "(undefined8 *)(lVar1 + 0x40c8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x40c8)" ( (binary_expression "lVar1 + 0x40c8" identifier + number_literal) ))))) ;) (expression_statement "lVar1 = FUN_0029d0a0(uVar3);" (assignment_expression "lVar1 = FUN_0029d0a0(uVar3)" identifier = (call_expression "FUN_0029d0a0(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (lVar1 != 0) goto LAB_0024b7ce;" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0024b7ce;" goto statement_identifier ;)) (expression_statement "uVar2 = gettext("unrecognized output format %s");" (assignment_expression "uVar2 = gettext("unrecognized output format %s")" identifier = (call_expression "gettext("unrecognized output format %s")" identifier (argument_list "("unrecognized output format %s")" ( (string_literal ""unrecognized output format %s"" " string_content ") )))) ;) (expression_statement "FUN_001878b0(uVar2,uVar3);" (call_expression "FUN_001878b0(uVar2,uVar3)" identifier (argument_list "(uVar2,uVar3)" ( identifier , identifier ))) ;) (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 == 0) goto LAB_0024b841;" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0024b841;" goto statement_identifier ;)) })) (if_statement "if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }" if (parenthesized_expression "(*(char *)(lVar1 + 0x37a8) == '\0')" ( (binary_expression "*(char *)(lVar1 + 0x37a8) == '\0'" (pointer_expression "*(char *)(lVar1 + 0x37a8)" * (cast_expression "(char *)(lVar1 + 0x37a8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x37a8)" ( (binary_expression "lVar1 + 0x37a8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }" { (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }" else (compound_statement "{\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }" { (expression_statement "uVar3 = *(undefined8 *)(lVar1 + 0x37b0);" (assignment_expression "uVar3 = *(undefined8 *)(lVar1 + 0x37b0)" identifier = (pointer_expression "*(undefined8 *)(lVar1 + 0x37b0)" * (cast_expression "(undefined8 *)(lVar1 + 0x37b0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x37b0)" ( (binary_expression "lVar1 + 0x37b0" identifier + number_literal) ))))) ;) (expression_statement "lVar1 = FUN_0029d120(uVar3);" (assignment_expression "lVar1 = FUN_0029d120(uVar3)" identifier = (call_expression "FUN_0029d120(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (lVar1 != 0) goto LAB_0024b7ce;" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0024b7ce;" goto statement_identifier ;)) (expression_statement "uVar2 = gettext("unrecognized emulation %s");" (assignment_expression "uVar2 = gettext("unrecognized emulation %s")" identifier = (call_expression "gettext("unrecognized emulation %s")" identifier (argument_list "("unrecognized emulation %s")" ( (string_literal ""unrecognized emulation %s"" " string_content ") )))) ;) (expression_statement "FUN_001878b0(uVar2,uVar3);" (call_expression "FUN_001878b0(uVar2,uVar3)" identifier (argument_list "(uVar2,uVar3)" ( identifier , identifier ))) ;) (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 == 0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" { (labeled_statement "LAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0018ff20("../../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 (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" if (parenthesized_expression "(*(int *)(lVar1 + 0x92a4) == 2)" ( (binary_expression "*(int *)(lVar1 + 0x92a4) == 2" (pointer_expression "*(int *)(lVar1 + 0x92a4)" * (cast_expression "(int *)(lVar1 + 0x92a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x92a4)" ( (binary_expression "lVar1 + 0x92a4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      FUN_00187770(uVar3);\n    }\n  }" { (expression_statement "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);" (assignment_expression "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0)" identifier = (call_expression "FUN_0029cfc0(0,0,0x16,0x40,0,0)" identifier (argument_list "(0,0,0x16,0x40,0,0)" ( number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      FUN_00187770(uVar3);\n    }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      FUN_00187770(uVar3);\n    }" { (expression_statement "uVar3 = gettext("no supported target for -EB/-EL option");" (assignment_expression "uVar3 = gettext("no supported target for -EB/-EL option")" identifier = (call_expression "gettext("no supported target for -EB/-EL option")" identifier (argument_list "("no supported target for -EB/-EL option")" ( (string_literal ""no supported target for -EB/-EL option"" " string_content ") )))) ;) comment (expression_statement "FUN_00187770(uVar3);" (call_expression "FUN_00187770(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) })) }) (else_clause "else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" else (compound_statement "{\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" { (expression_statement "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);" (assignment_expression "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0)" identifier = (call_expression "FUN_0029cfc0(0,0,0x16,0x40,1,0,0)" identifier (argument_list "(0,0,0x16,0x40,1,0,0)" ( number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (lVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }" { comment (expression_statement "FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");" (call_expression "FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target")" identifier (argument_list "("../../gold/parameters.cc",0x175,"parameters_force_valid_target")" ( (string_literal ""../../gold/parameters.cc"" " string_content ") , number_literal , (string_literal ""parameters_force_valid_target"" " string_content ") ))) ;) })) }))) (labeled_statement "LAB_0024b7ce:\n  FUN_0024b6a0(lVar1);" statement_identifier : (expression_statement "FUN_0024b6a0(lVar1);" (call_expression "FUN_0024b6a0(lVar1)" identifier (argument_list "(lVar1)" ( identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n\nvoid gold::parameters_force_valid_target(void)\n\n{\n  General_options *pGVar1;\n  Target *target;\n  char *pcVar2;\n  \n  if (parameters->target_ != (Target *)0x0) {\n    return;\n  }\n  pGVar1 = parameters->options_;\n  if (pGVar1 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if ((pGVar1->oformat_).user_set_via_option != false) {\n    target = select_target_by_bfd_name((pGVar1->oformat_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized output format %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_0024b841;\n  }\n  if ((pGVar1->m_).user_set_via_option == false) {\n    pGVar1 = parameters->options_;\n  }\n  else {\n    target = select_target_by_emulation((pGVar1->m_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized emulation %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (pGVar1->endianness_ == ENDIANNESS_LITTLE) {\n    target = select_target((Input_file *)0x0,0,0x16,0x40,false,0,0);\n    if (target == (Target *)0x0) {\n      pcVar2 = (char *)gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(pcVar2);\n    }\n  }\n  else {\n    target = select_target((Input_file *)0x0,0,0x16,0x40,true,0,0);\n    if (target == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  set_parameters_target(target);\n  return;\n}\n\n" comment comment (function_definition "void gold::parameters_force_valid_target(void)\n\n{\n  General_options *pGVar1;\n  Target *target;\n  char *pcVar2;\n  \n  if (parameters->target_ != (Target *)0x0) {\n    return;\n  }\n  pGVar1 = parameters->options_;\n  if (pGVar1 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if ((pGVar1->oformat_).user_set_via_option != false) {\n    target = select_target_by_bfd_name((pGVar1->oformat_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized output format %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_0024b841;\n  }\n  if ((pGVar1->m_).user_set_via_option == false) {\n    pGVar1 = parameters->options_;\n  }\n  else {\n    target = select_target_by_emulation((pGVar1->m_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized emulation %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (pGVar1->endianness_ == ENDIANNESS_LITTLE) {\n    target = select_target((Input_file *)0x0,0,0x16,0x40,false,0,0);\n    if (target == (Target *)0x0) {\n      pcVar2 = (char *)gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(pcVar2);\n    }\n  }\n  else {\n    target = select_target((Input_file *)0x0,0,0x16,0x40,true,0,0);\n    if (target == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  set_parameters_target(target);\n  return;\n}" primitive_type (ERROR "gold::" identifier : :) (function_declarator "parameters_force_valid_target(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  General_options *pGVar1;\n  Target *target;\n  char *pcVar2;\n  \n  if (parameters->target_ != (Target *)0x0) {\n    return;\n  }\n  pGVar1 = parameters->options_;\n  if (pGVar1 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if ((pGVar1->oformat_).user_set_via_option != false) {\n    target = select_target_by_bfd_name((pGVar1->oformat_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized output format %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_0024b841;\n  }\n  if ((pGVar1->m_).user_set_via_option == false) {\n    pGVar1 = parameters->options_;\n  }\n  else {\n    target = select_target_by_emulation((pGVar1->m_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized emulation %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (pGVar1->endianness_ == ENDIANNESS_LITTLE) {\n    target = select_target((Input_file *)0x0,0,0x16,0x40,false,0,0);\n    if (target == (Target *)0x0) {\n      pcVar2 = (char *)gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(pcVar2);\n    }\n  }\n  else {\n    target = select_target((Input_file *)0x0,0,0x16,0x40,true,0,0);\n    if (target == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  set_parameters_target(target);\n  return;\n}" { (declaration "General_options *pGVar1;" type_identifier (pointer_declarator "*pGVar1" * identifier) ;) (declaration "Target *target;" type_identifier (pointer_declarator "*target" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (if_statement "if (parameters->target_ != (Target *)0x0) {\n    return;\n  }" if (parenthesized_expression "(parameters->target_ != (Target *)0x0)" ( (binary_expression "parameters->target_ != (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) != (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pGVar1 = parameters->options_;" (assignment_expression "pGVar1 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar1 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }" if (parenthesized_expression "(pGVar1 == (General_options *)0x0)" ( (binary_expression "pGVar1 == (General_options *)0x0" 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.cc",0x147,"parameters_force_valid_target");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.cc",0x147,"parameters_force_valid_target");" (call_expression "do_gold_unreachable("../../gold/parameters.cc",0x147,"parameters_force_valid_target")" identifier (argument_list "("../../gold/parameters.cc",0x147,"parameters_force_valid_target")" ( (string_literal ""../../gold/parameters.cc"" " string_content ") , number_literal , (string_literal ""parameters_force_valid_target"" " string_content ") ))) ;) })) (if_statement "if ((pGVar1->oformat_).user_set_via_option != false) {\n    target = select_target_by_bfd_name((pGVar1->oformat_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized output format %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_0024b841;\n  }" if (parenthesized_expression "((pGVar1->oformat_).user_set_via_option != false)" ( (binary_expression "(pGVar1->oformat_).user_set_via_option != false" (field_expression "(pGVar1->oformat_).user_set_via_option" (parenthesized_expression "(pGVar1->oformat_)" ( (field_expression "pGVar1->oformat_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    target = select_target_by_bfd_name((pGVar1->oformat_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized output format %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_0024b841;\n  }" { (expression_statement "target = select_target_by_bfd_name((pGVar1->oformat_).value);" (assignment_expression "target = select_target_by_bfd_name((pGVar1->oformat_).value)" identifier = (call_expression "select_target_by_bfd_name((pGVar1->oformat_).value)" identifier (argument_list "((pGVar1->oformat_).value)" ( (field_expression "(pGVar1->oformat_).value" (parenthesized_expression "(pGVar1->oformat_)" ( (field_expression "pGVar1->oformat_" identifier -> field_identifier) )) . field_identifier) )))) ;) (if_statement "if (target != (Target *)0x0) goto LAB_0024b7ce;" if (parenthesized_expression "(target != (Target *)0x0)" ( (binary_expression "target != (Target *)0x0" identifier != (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0024b7ce;" goto statement_identifier ;)) (expression_statement "pcVar2 = (char *)gettext("unrecognized output format %s");" (assignment_expression "pcVar2 = (char *)gettext("unrecognized output format %s")" identifier = (cast_expression "(char *)gettext("unrecognized output format %s")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("unrecognized output format %s")" identifier (argument_list "("unrecognized output format %s")" ( (string_literal ""unrecognized output format %s"" " string_content ") ))))) ;) (expression_statement "gold_error(pcVar2);" (call_expression "gold_error(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) (expression_statement "pGVar1 = parameters->options_;" (assignment_expression "pGVar1 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar1 == (General_options *)0x0) goto LAB_0024b841;" if (parenthesized_expression "(pGVar1 == (General_options *)0x0)" ( (binary_expression "pGVar1 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0024b841;" goto statement_identifier ;)) })) (if_statement "if ((pGVar1->m_).user_set_via_option == false) {\n    pGVar1 = parameters->options_;\n  }\n  else {\n    target = select_target_by_emulation((pGVar1->m_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized emulation %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }" if (parenthesized_expression "((pGVar1->m_).user_set_via_option == false)" ( (binary_expression "(pGVar1->m_).user_set_via_option == false" (field_expression "(pGVar1->m_).user_set_via_option" (parenthesized_expression "(pGVar1->m_)" ( (field_expression "pGVar1->m_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    pGVar1 = parameters->options_;\n  }" { (expression_statement "pGVar1 = parameters->options_;" (assignment_expression "pGVar1 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) }) (else_clause "else {\n    target = select_target_by_emulation((pGVar1->m_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized emulation %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }" else (compound_statement "{\n    target = select_target_by_emulation((pGVar1->m_).value);\n    if (target != (Target *)0x0) goto LAB_0024b7ce;\n    pcVar2 = (char *)gettext("unrecognized emulation %s");\n    gold_error(pcVar2);\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }" { (expression_statement "target = select_target_by_emulation((pGVar1->m_).value);" (assignment_expression "target = select_target_by_emulation((pGVar1->m_).value)" identifier = (call_expression "select_target_by_emulation((pGVar1->m_).value)" identifier (argument_list "((pGVar1->m_).value)" ( (field_expression "(pGVar1->m_).value" (parenthesized_expression "(pGVar1->m_)" ( (field_expression "pGVar1->m_" identifier -> field_identifier) )) . field_identifier) )))) ;) (if_statement "if (target != (Target *)0x0) goto LAB_0024b7ce;" if (parenthesized_expression "(target != (Target *)0x0)" ( (binary_expression "target != (Target *)0x0" identifier != (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0024b7ce;" goto statement_identifier ;)) (expression_statement "pcVar2 = (char *)gettext("unrecognized emulation %s");" (assignment_expression "pcVar2 = (char *)gettext("unrecognized emulation %s")" identifier = (cast_expression "(char *)gettext("unrecognized emulation %s")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("unrecognized emulation %s")" identifier (argument_list "("unrecognized emulation %s")" ( (string_literal ""unrecognized emulation %s"" " string_content ") ))))) ;) (expression_statement "gold_error(pcVar2);" (call_expression "gold_error(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) (expression_statement "pGVar1 = parameters->options_;" (assignment_expression "pGVar1 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar1 == (General_options *)0x0) {\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(pGVar1 == (General_options *)0x0)" ( (binary_expression "pGVar1 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" { (labeled_statement "LAB_0024b841:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : 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 (pGVar1->endianness_ == ENDIANNESS_LITTLE) {\n    target = select_target((Input_file *)0x0,0,0x16,0x40,false,0,0);\n    if (target == (Target *)0x0) {\n      pcVar2 = (char *)gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(pcVar2);\n    }\n  }\n  else {\n    target = select_target((Input_file *)0x0,0,0x16,0x40,true,0,0);\n    if (target == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" if (parenthesized_expression "(pGVar1->endianness_ == ENDIANNESS_LITTLE)" ( (binary_expression "pGVar1->endianness_ == ENDIANNESS_LITTLE" (field_expression "pGVar1->endianness_" identifier -> field_identifier) == identifier) )) (compound_statement "{\n    target = select_target((Input_file *)0x0,0,0x16,0x40,false,0,0);\n    if (target == (Target *)0x0) {\n      pcVar2 = (char *)gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(pcVar2);\n    }\n  }" { (expression_statement "target = select_target((Input_file *)0x0,0,0x16,0x40,false,0,0);" (assignment_expression "target = select_target((Input_file *)0x0,0,0x16,0x40,false,0,0)" identifier = (call_expression "select_target((Input_file *)0x0,0,0x16,0x40,false,0,0)" identifier (argument_list "((Input_file *)0x0,0,0x16,0x40,false,0,0)" ( (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , number_literal , number_literal , false , number_literal , number_literal )))) ;) (if_statement "if (target == (Target *)0x0) {\n      pcVar2 = (char *)gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(pcVar2);\n    }" if (parenthesized_expression "(target == (Target *)0x0)" ( (binary_expression "target == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar2 = (char *)gettext("no supported target for -EB/-EL option");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(pcVar2);\n    }" { (expression_statement "pcVar2 = (char *)gettext("no supported target for -EB/-EL option");" (assignment_expression "pcVar2 = (char *)gettext("no supported target for -EB/-EL option")" identifier = (cast_expression "(char *)gettext("no supported target for -EB/-EL option")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("no supported target for -EB/-EL option")" identifier (argument_list "("no supported target for -EB/-EL option")" ( (string_literal ""no supported target for -EB/-EL option"" " string_content ") ))))) ;) comment (expression_statement "gold_fatal(pcVar2);" (call_expression "gold_fatal(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) })) }) (else_clause "else {\n    target = select_target((Input_file *)0x0,0,0x16,0x40,true,0,0);\n    if (target == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" else (compound_statement "{\n    target = select_target((Input_file *)0x0,0,0x16,0x40,true,0,0);\n    if (target == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" { (expression_statement "target = select_target((Input_file *)0x0,0,0x16,0x40,true,0,0);" (assignment_expression "target = select_target((Input_file *)0x0,0,0x16,0x40,true,0,0)" identifier = (call_expression "select_target((Input_file *)0x0,0,0x16,0x40,true,0,0)" identifier (argument_list "((Input_file *)0x0,0,0x16,0x40,true,0,0)" ( (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , number_literal , number_literal , true , number_literal , number_literal )))) ;) (if_statement "if (target == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }" if (parenthesized_expression "(target == (Target *)0x0)" ( (binary_expression "target == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target");" (call_expression "do_gold_unreachable("../../gold/parameters.cc",0x175,"parameters_force_valid_target")" identifier (argument_list "("../../gold/parameters.cc",0x175,"parameters_force_valid_target")" ( (string_literal ""../../gold/parameters.cc"" " string_content ") , number_literal , (string_literal ""parameters_force_valid_target"" " string_content ") ))) ;) })) }))) (labeled_statement "LAB_0024b7ce:\n  set_parameters_target(target);" statement_identifier : (expression_statement "set_parameters_target(target);" (call_expression "set_parameters_target(target)" identifier (argument_list "(target)" ( identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0024b760(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  \n  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }\n  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  if (lVar1 == 0) {\n                    \n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }\n  if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  FUN_0024b6a0(lVar1);\n  return;\n}\n\n" (function_definition "void FUN_0024b760(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  \n  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }\n  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  if (lVar1 == 0) {\n                    \n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }\n  if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  FUN_0024b6a0(lVar1);\n  return;\n}" primitive_type (function_declarator "FUN_0024b760(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  \n  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }\n  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  if (lVar1 == 0) {\n                    \n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }\n  if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  FUN_0024b6a0(lVar1);\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (if_statement "if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0045c708 + 0x18) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0045c708 + 0x18) != 0" (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x18)" ( (binary_expression "PTR_DAT_0045c708 + 0x18" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 == 0) {\n                    \n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }" { (expression_statement "FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");" (call_expression "FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target")" identifier (argument_list "("../../gold/parameters.cc",0x147,"parameters_force_valid_target")" ( (string_literal ""../../gold/parameters.cc"" " string_content ") , number_literal , (string_literal ""parameters_force_valid_target"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }" if (parenthesized_expression "(*(char *)(lVar1 + 0x40c0) != '\0')" ( (binary_expression "*(char *)(lVar1 + 0x40c0) != '\0'" (pointer_expression "*(char *)(lVar1 + 0x40c0)" * (cast_expression "(char *)(lVar1 + 0x40c0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x40c0)" ( (binary_expression "lVar1 + 0x40c0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }" { (expression_statement "uVar3 = *(undefined8 *)(lVar1 + 0x40c8);" (assignment_expression "uVar3 = *(undefined8 *)(lVar1 + 0x40c8)" identifier = (pointer_expression "*(undefined8 *)(lVar1 + 0x40c8)" * (cast_expression "(undefined8 *)(lVar1 + 0x40c8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x40c8)" ( (binary_expression "lVar1 + 0x40c8" identifier + number_literal) ))))) ;) (expression_statement "lVar1 = FUN_0029d0a0(uVar3);" (assignment_expression "lVar1 = FUN_0029d0a0(uVar3)" identifier = (call_expression "FUN_0029d0a0(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (lVar1 != 0) goto LAB_0024b7ce;" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0024b7ce;" goto statement_identifier ;)) (expression_statement "uVar2 = gettext("unrecognized output format %s");" (assignment_expression "uVar2 = gettext("unrecognized output format %s")" identifier = (call_expression "gettext("unrecognized output format %s")" identifier (argument_list "("unrecognized output format %s")" ( (string_literal ""unrecognized output format %s"" " string_content ") )))) ;) (expression_statement "FUN_001878b0(uVar2,uVar3);" (call_expression "FUN_001878b0(uVar2,uVar3)" identifier (argument_list "(uVar2,uVar3)" ( identifier , identifier ))) ;) (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 == 0) goto LAB_0024b841;" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0024b841;" goto statement_identifier ;)) })) (if_statement "if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }" if (parenthesized_expression "(*(char *)(lVar1 + 0x37a8) == '\0')" ( (binary_expression "*(char *)(lVar1 + 0x37a8) == '\0'" (pointer_expression "*(char *)(lVar1 + 0x37a8)" * (cast_expression "(char *)(lVar1 + 0x37a8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x37a8)" ( (binary_expression "lVar1 + 0x37a8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }" { (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }" else (compound_statement "{\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }" { (expression_statement "uVar3 = *(undefined8 *)(lVar1 + 0x37b0);" (assignment_expression "uVar3 = *(undefined8 *)(lVar1 + 0x37b0)" identifier = (pointer_expression "*(undefined8 *)(lVar1 + 0x37b0)" * (cast_expression "(undefined8 *)(lVar1 + 0x37b0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x37b0)" ( (binary_expression "lVar1 + 0x37b0" identifier + number_literal) ))))) ;) (expression_statement "lVar1 = FUN_0029d120(uVar3);" (assignment_expression "lVar1 = FUN_0029d120(uVar3)" identifier = (call_expression "FUN_0029d120(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (lVar1 != 0) goto LAB_0024b7ce;" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0024b7ce;" goto statement_identifier ;)) (expression_statement "uVar2 = gettext("unrecognized emulation %s");" (assignment_expression "uVar2 = gettext("unrecognized emulation %s")" identifier = (call_expression "gettext("unrecognized emulation %s")" identifier (argument_list "("unrecognized emulation %s")" ( (string_literal ""unrecognized emulation %s"" " string_content ") )))) ;) (expression_statement "FUN_001878b0(uVar2,uVar3);" (call_expression "FUN_001878b0(uVar2,uVar3)" identifier (argument_list "(uVar2,uVar3)" ( identifier , identifier ))) ;) (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" { (labeled_statement "LAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0018ff20("../../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 (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" if (parenthesized_expression "(*(int *)(lVar1 + 0x92a4) == 2)" ( (binary_expression "*(int *)(lVar1 + 0x92a4) == 2" (pointer_expression "*(int *)(lVar1 + 0x92a4)" * (cast_expression "(int *)(lVar1 + 0x92a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x92a4)" ( (binary_expression "lVar1 + 0x92a4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }\n  }" { (expression_statement "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);" (assignment_expression "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0)" identifier = (call_expression "FUN_0029cfc0(0,0,0x16,0x40,0,0)" identifier (argument_list "(0,0,0x16,0x40,0,0)" ( number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }" { (expression_statement "uVar3 = gettext("no supported target for -EB/-EL option");" (assignment_expression "uVar3 = gettext("no supported target for -EB/-EL option")" identifier = (call_expression "gettext("no supported target for -EB/-EL option")" identifier (argument_list "("no supported target for -EB/-EL option")" ( (string_literal ""no supported target for -EB/-EL option"" " string_content ") )))) ;) (expression_statement "FUN_00187770(uVar3);" (call_expression "FUN_00187770(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) })) }) (else_clause "else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" else (compound_statement "{\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" { (expression_statement "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);" (assignment_expression "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0)" identifier = (call_expression "FUN_0029cfc0(0,0,0x16,0x40,1,0,0)" identifier (argument_list "(0,0,0x16,0x40,1,0,0)" ( number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }" { (expression_statement "FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");" (call_expression "FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target")" identifier (argument_list "("../../gold/parameters.cc",0x175,"parameters_force_valid_target")" ( (string_literal ""../../gold/parameters.cc"" " string_content ") , number_literal , (string_literal ""parameters_force_valid_target"" " string_content ") ))) ;) })) }))) (labeled_statement "LAB_0024b7ce:\n  FUN_0024b6a0(lVar1);" statement_identifier : (expression_statement "FUN_0024b6a0(lVar1);" (call_expression "FUN_0024b6a0(lVar1)" identifier (argument_list "(lVar1)" ( identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , LIT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , LIT , LIT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (return_statement return ;) })))
(function_definition "void FUN_0024b760(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  \n  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }\n  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  if (lVar1 == 0) {\n                    \n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }\n  if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  FUN_0024b6a0(lVar1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0024b760(void)" (identifier "FUN_0024b760") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  \n  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }\n  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  if (lVar1 == 0) {\n                    \n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }\n  if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }\n  if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  if (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }\nLAB_0024b7ce:\n  FUN_0024b6a0(lVar1);\n  return;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (if_statement "if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0045c708 + 0x18) != 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0045c708 + 0x18) != 0" (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_0045c708 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x18)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x18" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x10" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar1 == 0) {\n                    \n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }" (if "if") (parenthesized_expression "(lVar1 == 0)" (( "(") (binary_expression "lVar1 == 0" (identifier "lVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");\n  }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");" (call_expression "FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target")" (identifier "FUN_0018ff20") (argument_list "("../../gold/parameters.cc",0x147,"parameters_force_valid_target")" (( "(") (string_literal ""../../gold/parameters.cc"" (" """) (string_content "../../gold/parameters.cc") (" """)) (, ",") (number_literal "0x147") (, ",") (string_literal ""parameters_force_valid_target"" (" """) (string_content "parameters_force_valid_target") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(lVar1 + 0x40c0) != '\0') {\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }" (if "if") (parenthesized_expression "(*(char *)(lVar1 + 0x40c0) != '\0')" (( "(") (binary_expression "*(char *)(lVar1 + 0x40c0) != '\0'" (pointer_expression "*(char *)(lVar1 + 0x40c0)" (* "*") (cast_expression "(char *)(lVar1 + 0x40c0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x40c0)" (( "(") (binary_expression "lVar1 + 0x40c0" (identifier "lVar1") (+ "+") (number_literal "0x40c0")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);\n    lVar1 = FUN_0029d0a0(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized output format %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) goto LAB_0024b841;\n  }" ({ "{") (expression_statement "uVar3 = *(undefined8 *)(lVar1 + 0x40c8);" (assignment_expression "uVar3 = *(undefined8 *)(lVar1 + 0x40c8)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x40c8)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x40c8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x40c8)" (( "(") (binary_expression "lVar1 + 0x40c8" (identifier "lVar1") (+ "+") (number_literal "0x40c8")) () ")"))))) (; ";")) (expression_statement "lVar1 = FUN_0029d0a0(uVar3);" (assignment_expression "lVar1 = FUN_0029d0a0(uVar3)" (identifier "lVar1") (= "=") (call_expression "FUN_0029d0a0(uVar3)" (identifier "FUN_0029d0a0") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")")))) (; ";")) (if_statement "if (lVar1 != 0) goto LAB_0024b7ce;" (if "if") (parenthesized_expression "(lVar1 != 0)" (( "(") (binary_expression "lVar1 != 0" (identifier "lVar1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0024b7ce;" (goto "goto") (statement_identifier "LAB_0024b7ce") (; ";"))) (expression_statement "uVar2 = gettext("unrecognized output format %s");" (assignment_expression "uVar2 = gettext("unrecognized output format %s")" (identifier "uVar2") (= "=") (call_expression "gettext("unrecognized output format %s")" (identifier "gettext") (argument_list "("unrecognized output format %s")" (( "(") (string_literal ""unrecognized output format %s"" (" """) (string_content "unrecognized output format %s") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001878b0(uVar2,uVar3);" (call_expression "FUN_001878b0(uVar2,uVar3)" (identifier "FUN_001878b0") (argument_list "(uVar2,uVar3)" (( "(") (identifier "uVar2") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x10" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar1 == 0) goto LAB_0024b841;" (if "if") (parenthesized_expression "(lVar1 == 0)" (( "(") (binary_expression "lVar1 == 0" (identifier "lVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0024b841;" (goto "goto") (statement_identifier "LAB_0024b841") (; ";"))) (} "}"))) (if_statement "if (*(char *)(lVar1 + 0x37a8) == '\0') {\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }\n  else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(lVar1 + 0x37a8) == '\0')" (( "(") (binary_expression "*(char *)(lVar1 + 0x37a8) == '\0'" (pointer_expression "*(char *)(lVar1 + 0x37a8)" (* "*") (cast_expression "(char *)(lVar1 + 0x37a8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x37a8)" (( "(") (binary_expression "lVar1 + 0x37a8" (identifier "lVar1") (+ "+") (number_literal "0x37a8")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n  }" ({ "{") (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x10" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }" (else "else") (compound_statement "{\n    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);\n    lVar1 = FUN_0029d120(uVar3);\n    if (lVar1 != 0) goto LAB_0024b7ce;\n    uVar2 = gettext("unrecognized emulation %s");\n    FUN_001878b0(uVar2,uVar3);\n    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);\n    if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n  }" ({ "{") (expression_statement "uVar3 = *(undefined8 *)(lVar1 + 0x37b0);" (assignment_expression "uVar3 = *(undefined8 *)(lVar1 + 0x37b0)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x37b0)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x37b0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x37b0)" (( "(") (binary_expression "lVar1 + 0x37b0" (identifier "lVar1") (+ "+") (number_literal "0x37b0")) () ")"))))) (; ";")) (expression_statement "lVar1 = FUN_0029d120(uVar3);" (assignment_expression "lVar1 = FUN_0029d120(uVar3)" (identifier "lVar1") (= "=") (call_expression "FUN_0029d120(uVar3)" (identifier "FUN_0029d120") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")")))) (; ";")) (if_statement "if (lVar1 != 0) goto LAB_0024b7ce;" (if "if") (parenthesized_expression "(lVar1 != 0)" (( "(") (binary_expression "lVar1 != 0" (identifier "lVar1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0024b7ce;" (goto "goto") (statement_identifier "LAB_0024b7ce") (; ";"))) (expression_statement "uVar2 = gettext("unrecognized emulation %s");" (assignment_expression "uVar2 = gettext("unrecognized emulation %s")" (identifier "uVar2") (= "=") (call_expression "gettext("unrecognized emulation %s")" (identifier "gettext") (argument_list "("unrecognized emulation %s")" (( "(") (string_literal ""unrecognized emulation %s"" (" """) (string_content "unrecognized emulation %s") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001878b0(uVar2,uVar3);" (call_expression "FUN_001878b0(uVar2,uVar3)" (identifier "FUN_001878b0") (argument_list "(uVar2,uVar3)" (( "(") (identifier "uVar2") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x10" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar1 == 0) {\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" (if "if") (parenthesized_expression "(lVar1 == 0)" (( "(") (binary_expression "lVar1 == 0" (identifier "lVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" ({ "{") (labeled_statement "LAB_0024b841:\n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_0024b841") (: ":") (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0018ff20") (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 (*(int *)(lVar1 + 0x92a4) == 2) {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }\n  }\n  else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(lVar1 + 0x92a4) == 2)" (( "(") (binary_expression "*(int *)(lVar1 + 0x92a4) == 2" (pointer_expression "*(int *)(lVar1 + 0x92a4)" (* "*") (cast_expression "(int *)(lVar1 + 0x92a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x92a4)" (( "(") (binary_expression "lVar1 + 0x92a4" (identifier "lVar1") (+ "+") (number_literal "0x92a4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);\n    if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }\n  }" ({ "{") (expression_statement "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);" (assignment_expression "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0)" (identifier "lVar1") (= "=") (call_expression "FUN_0029cfc0(0,0,0x16,0x40,0,0)" (identifier "FUN_0029cfc0") (argument_list "(0,0,0x16,0x40,0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x16") (, ",") (number_literal "0x40") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (lVar1 == 0) {\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }" (if "if") (parenthesized_expression "(lVar1 == 0)" (( "(") (binary_expression "lVar1 == 0" (identifier "lVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar3 = gettext("no supported target for -EB/-EL option");\n                    \n      FUN_00187770(uVar3);\n    }" ({ "{") (expression_statement "uVar3 = gettext("no supported target for -EB/-EL option");" (assignment_expression "uVar3 = gettext("no supported target for -EB/-EL option")" (identifier "uVar3") (= "=") (call_expression "gettext("no supported target for -EB/-EL option")" (identifier "gettext") (argument_list "("no supported target for -EB/-EL option")" (( "(") (string_literal ""no supported target for -EB/-EL option"" (" """) (string_content "no supported target for -EB/-EL option") (" """)) () ")")))) (; ";")) (expression_statement "FUN_00187770(uVar3);" (call_expression "FUN_00187770(uVar3)" (identifier "FUN_00187770") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" (else "else") (compound_statement "{\n    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);\n    if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }\n  }" ({ "{") (expression_statement "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);" (assignment_expression "lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0)" (identifier "lVar1") (= "=") (call_expression "FUN_0029cfc0(0,0,0x16,0x40,1,0,0)" (identifier "FUN_0029cfc0") (argument_list "(0,0,0x16,0x40,1,0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x16") (, ",") (number_literal "0x40") (, ",") (number_literal "1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (lVar1 == 0) {\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }" (if "if") (parenthesized_expression "(lVar1 == 0)" (( "(") (binary_expression "lVar1 == 0" (identifier "lVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");\n    }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");" (call_expression "FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target")" (identifier "FUN_0018ff20") (argument_list "("../../gold/parameters.cc",0x175,"parameters_force_valid_target")" (( "(") (string_literal ""../../gold/parameters.cc"" (" """) (string_content "../../gold/parameters.cc") (" """)) (, ",") (number_literal "0x175") (, ",") (string_literal ""parameters_force_valid_target"" (" """) (string_content "parameters_force_valid_target") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0024b7ce:\n  FUN_0024b6a0(lVar1);" (statement_identifier "LAB_0024b7ce") (: ":") (expression_statement "FUN_0024b6a0(lVar1);" (call_expression "FUN_0024b6a0(lVar1)" (identifier "FUN_0024b6a0") (argument_list "(lVar1)" (( "(") (identifier "lVar1") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

void gold::function_1(void)

{
  type_1 *var_1;
  type_2 *var_4;
  char *pcVar2;
  
  if (parameters->target_ != (type_2 *)0x0) {
    return;
  }
  var_1 = parameters->options_;
  if (var_1 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("../../gold/parameters.cc",0x147,"parameters_force_valid_target");
  }
  if ((var_1->oformat_).user_set_via_option != false) {
    var_4 = var_3((var_1->oformat_).value);
    if (var_4 != (type_2 *)0x0) goto LAB_0024b7ce;
    pcVar2 = (char *)var_5("unrecognized output format %s");
    var_6(pcVar2);
    var_1 = parameters->options_;
    if (var_1 == (type_1 *)0x0) goto LAB_0024b841;
  }
  if ((var_1->m_).user_set_via_option == false) {
    var_1 = parameters->options_;
  }
  else {
    var_4 = var_7((var_1->m_).value);
    if (var_4 != (type_2 *)0x0) goto LAB_0024b7ce;
    pcVar2 = (char *)var_5("unrecognized emulation %s");
    var_6(pcVar2);
    var_1 = parameters->options_;
    if (var_1 == (type_1 *)0x0) {
LAB_0024b841:
                    /* WARNING: Subroutine does not return */
      var_2("../../gold/parameters.h",0x5c,"options");
    }
  }
  if (var_1->endianness_ == var_8) {
    var_4 = var_9((type_3 *)0x0,0,0x16,0x40,false,0,0);
    if (var_4 == (type_2 *)0x0) {
      pcVar2 = (char *)var_5("no supported target for -EB/-EL option");
                    /* WARNING: Subroutine does not return */
      var_10(pcVar2);
    }
  }
  else {
    var_4 = var_9((type_3 *)0x0,0,0x16,0x40,true,0,0);
    if (var_4 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_2("../../gold/parameters.cc",0x175,"parameters_force_valid_target");
    }
  }
LAB_0024b7ce:
  var_11(var_4);
  return;
}


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

void MASKED(void)

{
  long lVar1;
  undefined8 uVar2;
  undefined8 uVar3;
  
  if (*(long *)(PTR_DAT_0045c708 + 0x18) != 0) {
    return;
  }
  lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);
  if (lVar1 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0018ff20("../../gold/parameters.cc",0x147,"parameters_force_valid_target");
  }
  if (*(char *)(lVar1 + 0x40c0) != '\0') {
    uVar3 = *(undefined8 *)(lVar1 + 0x40c8);
    lVar1 = FUN_0029d0a0(uVar3);
    if (lVar1 != 0) goto LAB_0024b7ce;
    uVar2 = gettext("unrecognized output format %s");
    FUN_001878b0(uVar2,uVar3);
    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);
    if (lVar1 == 0) goto LAB_0024b841;
  }
  if (*(char *)(lVar1 + 0x37a8) == '\0') {
    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);
  }
  else {
    uVar3 = *(undefined8 *)(lVar1 + 0x37b0);
    lVar1 = FUN_0029d120(uVar3);
    if (lVar1 != 0) goto LAB_0024b7ce;
    uVar2 = gettext("unrecognized emulation %s");
    FUN_001878b0(uVar2,uVar3);
    lVar1 = *(long *)(PTR_DAT_0045c708 + 0x10);
    if (lVar1 == 0) {
LAB_0024b841:
                    /* WARNING: Subroutine does not return */
      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");
    }
  }
  if (*(int *)(lVar1 + 0x92a4) == 2) {
    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,0,0);
    if (lVar1 == 0) {
      uVar3 = gettext("no supported target for -EB/-EL option");
                    /* WARNING: Subroutine does not return */
      FUN_00187770(uVar3);
    }
  }
  else {
    lVar1 = FUN_0029cfc0(0,0,0x16,0x40,1,0,0);
    if (lVar1 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0018ff20("../../gold/parameters.cc",0x175,"parameters_force_valid_target");
    }
  }
LAB_0024b7ce:
  FUN_0024b6a0(lVar1);
  return;
}

