
/* WARNING: Removing unreachable block (ram,0x002b96d4) */
/* WARNING: Removing unreachable block (ram,0x002b9760) */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "STB": Some values do not have unique names */
/* DWARF original prototype: Symbol * define_as_constant(Symbol_table * this, char * name, char *
   version, Defined defined, uint64_t value, uint64_t symsize, STT type, STB binding, STV
   visibility, uchar nonvis, bool only_if_ref, bool force_override) */

Symbol * __thiscall
gold::Symbol_table::define_as_constant
          (Symbol_table *this,char *name,char *version,Defined defined,uint64_t value,
          uint64_t symsize,STT type,STB binding,STV visibility,uchar nonvis,bool only_if_ref,
          bool force_override)

{
  uint64_t *puVar1;
  uint64_t *puVar2;
  STT *pSVar3;
  STB *pSVar4;
  STV *pSVar5;
  uchar *puVar6;
  int iVar7;
  Sized_symbol<64> *pSVar8;
  Sized_symbol<32> *pSVar9;
  Symbol *pSVar10;
  Output_data *od;
  Symbol_table *this_00;
  undefined4 uVar11;
  char *name_00;
  undefined *puVar12;
  undefined *puVar13;
  undefined *puVar14;
  
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
               PTR_s_in_a_linker_script_004c191c + 0x3098);
  }
  else {
    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);
    if (iVar7 == 0x20) {
      pSVar9 = do_define_as_constant<32>
                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,
                          visibility,nonvis,only_if_ref,force_override);
      return &pSVar9->super_Symbol;
    }
    if (iVar7 == 0x40) {
      pSVar8 = do_define_as_constant<64>
                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,
                          only_if_ref,force_override);
      return &pSVar8->super_Symbol;
    }
  }
  uVar11 = 0x8bc;
  puVar12 = PTR_s_in_a_linker_script_004c191c + 0x2e60;
  this_00 = (Symbol_table *)(PTR_s_in_a_linker_script_004c191c + 0x24b0);
  puVar14 = PTR_do_gold_unreachable_004c1a30;
  pSVar10 = (Symbol *)(*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x8bc);
  if (0 < (int)puVar12) {
    puVar13 = (undefined *)0x0;
    do {
      while( true ) {
        od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));
        name_00 = *(char **)defined;
        if (od != (Output_data *)0x0) break;
        puVar1 = (uint64_t *)(defined + 0x10);
        pSVar3 = (STT *)(defined + 0x18);
        pSVar4 = (STB *)(defined + 0x1c);
        pSVar5 = (STV *)(defined + 0x20);
        puVar6 = (uchar *)(defined + 0x24);
        puVar13 = puVar13 + 1;
        defined = defined + 0x28;
        pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,
                                     *pSVar4,*pSVar5,*puVar6,true,false);
        if (puVar12 == puVar13) {
          return pSVar10;
        }
      }
      puVar1 = (uint64_t *)(defined + 8);
      puVar2 = (uint64_t *)(defined + 0x10);
      pSVar3 = (STT *)(defined + 0x18);
      pSVar4 = (STB *)(defined + 0x1c);
      pSVar5 = (STV *)(defined + 0x20);
      puVar6 = (uchar *)(defined + 0x24);
      iVar7 = defined + 0x25;
      puVar13 = puVar13 + 1;
      defined = defined + 0x28;
      pSVar10 = define_in_output_data
                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4
                           ,*pSVar5,*puVar6,*(bool *)iVar7,true);
    } while (puVar12 != puVar13);
  }
  return pSVar10;
}



/* WARNING: Removing unreachable block (ram,0x002b96d4) */
/* WARNING: Removing unreachable block (ram,0x002b9760) */
/* gold::Symbol_table::define_as_constant(char const*, char const*, gold::Symbol_table::Defined,
   unsigned long long, unsigned long long, elfcpp::STT, elfcpp::STB, elfcpp::STV, unsigned char,
   bool, bool) */

void gold::Symbol_table::define_as_constant(void)

{
  undefined4 *puVar1;
  undefined4 *puVar2;
  undefined4 *puVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  int iVar7;
  undefined *puVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined *puVar11;
  undefined4 *in_a3;
  undefined *puVar12;
  undefined *puVar13;
  
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
               PTR_s_in_a_linker_script_004c191c + 0x3098);
  }
  else {
    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);
    if (iVar7 == 0x20) {
      do_define_as_constant<32>();
      return;
    }
    if (iVar7 == 0x40) {
      do_define_as_constant<64>();
      return;
    }
  }
  uVar9 = 0x8bc;
  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;
  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;
  puVar13 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);
  if (0 < (int)puVar11) {
    puVar12 = (undefined *)0x0;
    do {
      while( true ) {
        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);
        uVar10 = *in_a3;
        if (iVar7 != 0) break;
        puVar1 = in_a3 + 5;
        puVar2 = in_a3 + 4;
        puVar3 = in_a3 + 6;
        puVar4 = in_a3 + 7;
        puVar5 = in_a3 + 8;
        puVar6 = in_a3 + 9;
        puVar12 = puVar12 + 1;
        in_a3 = in_a3 + 10;
        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,
                           *(undefined1 *)puVar6,0x40,0);
        if (puVar11 == puVar12) {
          return;
        }
      }
      puVar12 = puVar12 + 1;
      in_a3 = in_a3 + 10;
      define_in_output_data(puVar8,uVar10,0,5,iVar7);
    } while (puVar11 != puVar12);
  }
  return;
}


lui gp,0x21
addiu gp,gp,-0x324
addu gp,gp,t9
lw v0,-0x788c(gp)
addiu sp,sp,-0x20
lw t3,0x34(sp)
lw v0,0x0(v0)
lw t4,0x3c(sp)
lw t5,0x40(sp)
lw t6,0x44(sp)
lw v0,0xc(v0)
lw t7,0x48(sp)
lbu v1,0x4f(sp)
lbu t0,0x53(sp)
lbu t1,0x57(sp)
sw gp,0x10(sp)
sw ra,0x1c(sp)
beq v0,zero,0x002b9610
_li t2,0x20
lw v0,0x4(v0)
lw v0,0x0(v0)
beq v0,t2,0x002b95e0
_li t2,0x40
bne v0,t2,0x002b962c
_lw ra,0x1c(sp)
lw t9,-0x48d0(gp)
sw t1,0x54(sp)
sw t0,0x50(sp)
sw v1,0x4c(sp)
b 0x002caa10
_addiu sp,sp,0x20
lw ra,0x1c(sp)
lw t9,-0x48cc(gp)
sw t1,0x4c(sp)
sw t0,0x48(sp)
sw v1,0x44(sp)
sw t7,0x40(sp)
sw t6,0x3c(sp)
sw t5,0x38(sp)
sw t4,0x34(sp)
sw t3,0x30(sp)
b 0x002c5dd4
_addiu sp,sp,0x20
lw a2,-0x7924(gp)
li a1,0x69
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x3098
jalr t9
_addiu a0,a0,-0x9b8
lw a2,-0x7924(gp)
li a1,0x8bc
lw a0,-0x7924(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x2e60
jalr t9
_addiu a0,a0,0x24b0
(translation_unit "/* WARNING: Removing unreachable block (ram,0x002b96d4) */\n/* WARNING: Removing unreachable block (ram,0x002b9760) */\n/* gold::Symbol_table::define_as_constant(char const*, char const*, gold::Symbol_table::Defined,\n   unsigned long long, unsigned long long, elfcpp::STT, elfcpp::STB, elfcpp::STV, unsigned char,\n   bool, bool) */\n\nvoid gold::Symbol_table::define_as_constant(void)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 *in_a3;\n  undefined *puVar12;\n  undefined *puVar13;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }\n  uVar9 = 0x8bc;\n  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  puVar13 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);\n  if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }\n  return;\n}\n\n" comment comment comment (function_definition "void gold::Symbol_table::define_as_constant(void)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 *in_a3;\n  undefined *puVar12;\n  undefined *puVar13;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }\n  uVar9 = 0x8bc;\n  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  puVar13 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);\n  if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }\n  return;\n}" primitive_type (ERROR "gold::Symbol_table::" identifier : : identifier : :) (function_declarator "define_as_constant(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 *in_a3;\n  undefined *puVar12;\n  undefined *puVar13;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }\n  uVar9 = 0x8bc;\n  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  puVar13 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);\n  if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3098" identifier + number_literal) ))) ;) }) (else_clause "else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }" else (compound_statement "{\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }" { (expression_statement "iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);" (assignment_expression "iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" identifier = (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x20)" ( (binary_expression "iVar7 == 0x20" identifier == number_literal) )) (compound_statement "{\n      do_define_as_constant<32>();\n      return;\n    }" { (expression_statement "do_define_as_constant<32>();" (binary_expression "do_define_as_constant<32>()" (binary_expression "do_define_as_constant<32" identifier < number_literal) > (parenthesized_expression "()" ( identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x40)" ( (binary_expression "iVar7 == 0x40" identifier == number_literal) )) (compound_statement "{\n      do_define_as_constant<64>();\n      return;\n    }" { (expression_statement "do_define_as_constant<64>();" (binary_expression "do_define_as_constant<64>()" (binary_expression "do_define_as_constant<64" identifier < number_literal) > (parenthesized_expression "()" ( identifier ))) ;) (return_statement "return;" return ;) })) }))) (expression_statement "uVar9 = 0x8bc;" (assignment_expression "uVar9 = 0x8bc" identifier = number_literal) ;) (expression_statement "puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;" (assignment_expression "puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2e60" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;" (assignment_expression "puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal)) ;) (expression_statement "puVar13 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar13 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8,0x8bc)" ( identifier , number_literal ))) ;) (if_statement "if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }" if (parenthesized_expression "(0 < (int)puVar11)" ( (binary_expression "0 < (int)puVar11" number_literal < (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }" { (expression_statement "puVar12 = (undefined *)0x0;" (assignment_expression "puVar12 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);" do (compound_statement "{\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    }" { (while_statement "while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }" { (expression_statement "iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);" (assignment_expression "iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1])" identifier = (call_expression "(**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1])" (parenthesized_expression "(**(code **)(puVar13 + 0x208804))" ( (pointer_expression "**(code **)(puVar13 + 0x208804)" * (pointer_expression "*(code **)(puVar13 + 0x208804)" * (cast_expression "(code **)(puVar13 + 0x208804)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x208804)" ( (binary_expression "puVar13 + 0x208804" identifier + number_literal) ))))) )) (argument_list "(uVar9,in_a3[1])" ( identifier , (subscript_expression "in_a3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar10 = *in_a3;" (assignment_expression "uVar10 = *in_a3" identifier = (pointer_expression "*in_a3" * identifier)) ;) (if_statement "if (iVar7 != 0) break;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar1 = in_a3 + 5;" (assignment_expression "puVar1 = in_a3 + 5" identifier = (binary_expression "in_a3 + 5" identifier + number_literal)) ;) (expression_statement "puVar2 = in_a3 + 4;" (assignment_expression "puVar2 = in_a3 + 4" identifier = (binary_expression "in_a3 + 4" identifier + number_literal)) ;) (expression_statement "puVar3 = in_a3 + 6;" (assignment_expression "puVar3 = in_a3 + 6" identifier = (binary_expression "in_a3 + 6" identifier + number_literal)) ;) (expression_statement "puVar4 = in_a3 + 7;" (assignment_expression "puVar4 = in_a3 + 7" identifier = (binary_expression "in_a3 + 7" identifier + number_literal)) ;) (expression_statement "puVar5 = in_a3 + 8;" (assignment_expression "puVar5 = in_a3 + 8" identifier = (binary_expression "in_a3 + 8" identifier + number_literal)) ;) (expression_statement "puVar6 = in_a3 + 9;" (assignment_expression "puVar6 = in_a3 + 9" identifier = (binary_expression "in_a3 + 9" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "in_a3 = in_a3 + 10;" (assignment_expression "in_a3 = in_a3 + 10" identifier = (binary_expression "in_a3 + 10" identifier + number_literal)) ;) (expression_statement "define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);" (call_expression "define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0)" identifier (argument_list "(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal , (pointer_expression "*puVar2" * identifier) , (pointer_expression "*puVar1" * identifier) , (pointer_expression "*puVar3" * identifier) , (pointer_expression "*puVar4" * identifier) , (pointer_expression "*puVar5" * identifier) , (pointer_expression "*(undefined1 *)puVar6" * (cast_expression "(undefined1 *)puVar6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , number_literal ))) ;) (if_statement "if (puVar11 == puVar12) {\n          return;\n        }" if (parenthesized_expression "(puVar11 == puVar12)" ( (binary_expression "puVar11 == puVar12" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "in_a3 = in_a3 + 10;" (assignment_expression "in_a3 = in_a3 + 10" identifier = (binary_expression "in_a3 + 10" identifier + number_literal)) ;) (expression_statement "define_in_output_data(puVar8,uVar10,0,5,iVar7);" (call_expression "define_in_output_data(puVar8,uVar10,0,5,iVar7)" identifier (argument_list "(puVar8,uVar10,0,5,iVar7)" ( identifier , identifier , number_literal , number_literal , identifier ))) ;) }) while (parenthesized_expression "(puVar11 != puVar12)" ( (binary_expression "puVar11 != puVar12" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x002b96d4) */\n/* WARNING: Removing unreachable block (ram,0x002b9760) */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Enum "STT": Some values do not have unique names */\n/* WARNING: Enum "STB": Some values do not have unique names */\n/* DWARF original prototype: Symbol * define_as_constant(Symbol_table * this, char * name, char *\n   version, Defined defined, uint64_t value, uint64_t symsize, STT type, STB binding, STV\n   visibility, uchar nonvis, bool only_if_ref, bool force_override) */\n\nSymbol * __thiscall\ngold::Symbol_table::define_as_constant\n          (Symbol_table *this,char *name,char *version,Defined defined,uint64_t value,\n          uint64_t symsize,STT type,STB binding,STV visibility,uchar nonvis,bool only_if_ref,\n          bool force_override)\n\n{\n  uint64_t *puVar1;\n  uint64_t *puVar2;\n  STT *pSVar3;\n  STB *pSVar4;\n  STV *pSVar5;\n  uchar *puVar6;\n  int iVar7;\n  Sized_symbol<64> *pSVar8;\n  Sized_symbol<32> *pSVar9;\n  Symbol *pSVar10;\n  Output_data *od;\n  Symbol_table *this_00;\n  undefined4 uVar11;\n  char *name_00;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      pSVar9 = do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override);\n      return &pSVar9->super_Symbol;\n    }\n    if (iVar7 == 0x40) {\n      pSVar8 = do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override);\n      return &pSVar8->super_Symbol;\n    }\n  }\n  uVar11 = 0x8bc;\n  puVar12 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  this_00 = (Symbol_table *)(PTR_s_in_a_linker_script_004c191c + 0x24b0);\n  puVar14 = PTR_do_gold_unreachable_004c1a30;\n  pSVar10 = (Symbol *)(*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x8bc);\n  if (0 < (int)puVar12) {\n    puVar13 = (undefined *)0x0;\n    do {\n      while( true ) {\n        od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));\n        name_00 = *(char **)defined;\n        if (od != (Output_data *)0x0) break;\n        puVar1 = (uint64_t *)(defined + 0x10);\n        pSVar3 = (STT *)(defined + 0x18);\n        pSVar4 = (STB *)(defined + 0x1c);\n        pSVar5 = (STV *)(defined + 0x20);\n        puVar6 = (uchar *)(defined + 0x24);\n        puVar13 = puVar13 + 1;\n        defined = defined + 0x28;\n        pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false);\n        if (puVar12 == puVar13) {\n          return pSVar10;\n        }\n      }\n      puVar1 = (uint64_t *)(defined + 8);\n      puVar2 = (uint64_t *)(defined + 0x10);\n      pSVar3 = (STT *)(defined + 0x18);\n      pSVar4 = (STB *)(defined + 0x1c);\n      pSVar5 = (STV *)(defined + 0x20);\n      puVar6 = (uchar *)(defined + 0x24);\n      iVar7 = defined + 0x25;\n      puVar13 = puVar13 + 1;\n      defined = defined + 0x28;\n      pSVar10 = define_in_output_data\n                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true);\n    } while (puVar12 != puVar13);\n  }\n  return pSVar10;\n}\n\n" comment comment comment comment comment comment comment (ERROR "Symbol * __thiscall\ngold::Symbol_table::define_as_constant\n          (Symbol_table *this,char *name,char *version,Defined defined,uint64_t value,\n          uint64_t symsize,STT type,STB binding,STV visibility,uchar nonvis,bool only_if_ref,\n          bool force_override)" (binary_expression "Symbol * __thiscall\ngold::Symbol_table::define_as_constant\n          (Symbol_table *this,char *name,char *version,Defined defined,uint64_t value,\n          uint64_t symsize,STT type,STB binding,STV visibility,uchar nonvis,bool only_if_ref,\n          bool force_override)" identifier * (call_expression "__thiscall\ngold::Symbol_table::define_as_constant\n          (Symbol_table *this,char *name,char *version,Defined defined,uint64_t value,\n          uint64_t symsize,STT type,STB binding,STV visibility,uchar nonvis,bool only_if_ref,\n          bool force_override)" identifier (ERROR "gold::Symbol_table::define_as_constant" identifier : : identifier : : identifier) (argument_list "(Symbol_table *this,char *name,char *version,Defined defined,uint64_t value,\n          uint64_t symsize,STT type,STB binding,STV visibility,uchar nonvis,bool only_if_ref,\n          bool force_override)" ( (binary_expression "Symbol_table *this" identifier * identifier) , (binary_expression "char *name" identifier * identifier) , (binary_expression "char *version" identifier * identifier) , identifier (ERROR "defined" identifier) , identifier (ERROR "value" identifier) , identifier (ERROR "symsize" identifier) , (ERROR "STT" identifier) identifier , (ERROR "STB" identifier) identifier , (ERROR "STV" identifier) identifier , (ERROR "uchar" identifier) identifier , (ERROR "bool" identifier) identifier , (ERROR "bool" identifier) identifier ))))) (compound_statement "{\n  uint64_t *puVar1;\n  uint64_t *puVar2;\n  STT *pSVar3;\n  STB *pSVar4;\n  STV *pSVar5;\n  uchar *puVar6;\n  int iVar7;\n  Sized_symbol<64> *pSVar8;\n  Sized_symbol<32> *pSVar9;\n  Symbol *pSVar10;\n  Output_data *od;\n  Symbol_table *this_00;\n  undefined4 uVar11;\n  char *name_00;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      pSVar9 = do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override);\n      return &pSVar9->super_Symbol;\n    }\n    if (iVar7 == 0x40) {\n      pSVar8 = do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override);\n      return &pSVar8->super_Symbol;\n    }\n  }\n  uVar11 = 0x8bc;\n  puVar12 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  this_00 = (Symbol_table *)(PTR_s_in_a_linker_script_004c191c + 0x24b0);\n  puVar14 = PTR_do_gold_unreachable_004c1a30;\n  pSVar10 = (Symbol *)(*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x8bc);\n  if (0 < (int)puVar12) {\n    puVar13 = (undefined *)0x0;\n    do {\n      while( true ) {\n        od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));\n        name_00 = *(char **)defined;\n        if (od != (Output_data *)0x0) break;\n        puVar1 = (uint64_t *)(defined + 0x10);\n        pSVar3 = (STT *)(defined + 0x18);\n        pSVar4 = (STB *)(defined + 0x1c);\n        pSVar5 = (STV *)(defined + 0x20);\n        puVar6 = (uchar *)(defined + 0x24);\n        puVar13 = puVar13 + 1;\n        defined = defined + 0x28;\n        pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false);\n        if (puVar12 == puVar13) {\n          return pSVar10;\n        }\n      }\n      puVar1 = (uint64_t *)(defined + 8);\n      puVar2 = (uint64_t *)(defined + 0x10);\n      pSVar3 = (STT *)(defined + 0x18);\n      pSVar4 = (STB *)(defined + 0x1c);\n      pSVar5 = (STV *)(defined + 0x20);\n      puVar6 = (uchar *)(defined + 0x24);\n      iVar7 = defined + 0x25;\n      puVar13 = puVar13 + 1;\n      defined = defined + 0x28;\n      pSVar10 = define_in_output_data\n                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true);\n    } while (puVar12 != puVar13);\n  }\n  return pSVar10;\n}" { (declaration "uint64_t *puVar1;" primitive_type (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint64_t *puVar2;" primitive_type (pointer_declarator "*puVar2" * identifier) ;) (declaration "STT *pSVar3;" type_identifier (pointer_declarator "*pSVar3" * identifier) ;) (declaration "STB *pSVar4;" type_identifier (pointer_declarator "*pSVar4" * identifier) ;) (declaration "STV *pSVar5;" type_identifier (pointer_declarator "*pSVar5" * identifier) ;) (declaration "uchar *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (expression_statement "Sized_symbol<64> *pSVar8;" (binary_expression "Sized_symbol<64> *pSVar8" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*pSVar8" * identifier)) ;) (expression_statement "Sized_symbol<32> *pSVar9;" (binary_expression "Sized_symbol<32> *pSVar9" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*pSVar9" * identifier)) ;) (declaration "Symbol *pSVar10;" type_identifier (pointer_declarator "*pSVar10" * identifier) ;) (declaration "Output_data *od;" type_identifier (pointer_declarator "*od" * identifier) ;) (declaration "Symbol_table *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "char *name_00;" primitive_type (pointer_declarator "*name_00" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      pSVar9 = do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override);\n      return &pSVar9->super_Symbol;\n    }\n    if (iVar7 == 0x40) {\n      pSVar8 = do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override);\n      return &pSVar8->super_Symbol;\n    }\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3098" identifier + number_literal) ))) ;) }) (else_clause "else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      pSVar9 = do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override);\n      return &pSVar9->super_Symbol;\n    }\n    if (iVar7 == 0x40) {\n      pSVar8 = do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override);\n      return &pSVar8->super_Symbol;\n    }\n  }" else (compound_statement "{\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      pSVar9 = do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override);\n      return &pSVar9->super_Symbol;\n    }\n    if (iVar7 == 0x40) {\n      pSVar8 = do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override);\n      return &pSVar8->super_Symbol;\n    }\n  }" { (expression_statement "iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);" (assignment_expression "iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" identifier = (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (iVar7 == 0x20) {\n      pSVar9 = do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override);\n      return &pSVar9->super_Symbol;\n    }" if (parenthesized_expression "(iVar7 == 0x20)" ( (binary_expression "iVar7 == 0x20" identifier == number_literal) )) (compound_statement "{\n      pSVar9 = do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override);\n      return &pSVar9->super_Symbol;\n    }" { (expression_statement "pSVar9 = do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override);" (assignment_expression "pSVar9 = do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override)" identifier = (binary_expression "do_define_as_constant<32>\n                         (this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override)" (binary_expression "do_define_as_constant<32" identifier < number_literal) > (parenthesized_expression "(this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override)" ( (comma_expression "this,name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override" identifier , (comma_expression "name,version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override" identifier , (comma_expression "version,defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override" identifier , (comma_expression "defined,value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override" identifier , (comma_expression "value._4_4_,symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override" (field_expression "value._4_4_" identifier . field_identifier) , (comma_expression "symsize._4_4_,type,binding,\n                          visibility,nonvis,only_if_ref,force_override" (field_expression "symsize._4_4_" identifier . field_identifier) , (comma_expression "type,binding,\n                          visibility,nonvis,only_if_ref,force_override" identifier , (comma_expression "binding,\n                          visibility,nonvis,only_if_ref,force_override" identifier , (comma_expression "visibility,nonvis,only_if_ref,force_override" identifier , (comma_expression "nonvis,only_if_ref,force_override" identifier , (comma_expression "only_if_ref,force_override" identifier , identifier))))))))))) )))) ;) (return_statement "return &pSVar9->super_Symbol;" return (pointer_expression "&pSVar9->super_Symbol" & (field_expression "pSVar9->super_Symbol" identifier -> field_identifier)) ;) })) (if_statement "if (iVar7 == 0x40) {\n      pSVar8 = do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override);\n      return &pSVar8->super_Symbol;\n    }" if (parenthesized_expression "(iVar7 == 0x40)" ( (binary_expression "iVar7 == 0x40" identifier == number_literal) )) (compound_statement "{\n      pSVar8 = do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override);\n      return &pSVar8->super_Symbol;\n    }" { (expression_statement "pSVar8 = do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override);" (assignment_expression "pSVar8 = do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override)" identifier = (binary_expression "do_define_as_constant<64>\n                         (this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override)" (binary_expression "do_define_as_constant<64" identifier < number_literal) > (parenthesized_expression "(this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override)" ( (comma_expression "this,name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "name,version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "version,defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "defined,value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "value,symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "symsize,type,binding,visibility,nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "type,binding,visibility,nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "binding,visibility,nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "visibility,nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "nonvis,\n                          only_if_ref,force_override" identifier , (comma_expression "only_if_ref,force_override" identifier , identifier))))))))))) )))) ;) (return_statement "return &pSVar8->super_Symbol;" return (pointer_expression "&pSVar8->super_Symbol" & (field_expression "pSVar8->super_Symbol" identifier -> field_identifier)) ;) })) }))) (expression_statement "uVar11 = 0x8bc;" (assignment_expression "uVar11 = 0x8bc" identifier = number_literal) ;) (expression_statement "puVar12 = PTR_s_in_a_linker_script_004c191c + 0x2e60;" (assignment_expression "puVar12 = PTR_s_in_a_linker_script_004c191c + 0x2e60" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2e60" identifier + number_literal)) ;) (expression_statement "this_00 = (Symbol_table *)(PTR_s_in_a_linker_script_004c191c + 0x24b0);" (assignment_expression "this_00 = (Symbol_table *)(PTR_s_in_a_linker_script_004c191c + 0x24b0)" identifier = (cast_expression "(Symbol_table *)(PTR_s_in_a_linker_script_004c191c + 0x24b0)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_in_a_linker_script_004c191c + 0x24b0)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal) )))) ;) (expression_statement "puVar14 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar14 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "pSVar10 = (Symbol *)(*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x8bc);" (assignment_expression "pSVar10 = (Symbol *)(*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x8bc)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x8bc)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x8bc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this_00,0x8bc)" ( identifier , number_literal ))))) ;) (if_statement "if (0 < (int)puVar12) {\n    puVar13 = (undefined *)0x0;\n    do {\n      while( true ) {\n        od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));\n        name_00 = *(char **)defined;\n        if (od != (Output_data *)0x0) break;\n        puVar1 = (uint64_t *)(defined + 0x10);\n        pSVar3 = (STT *)(defined + 0x18);\n        pSVar4 = (STB *)(defined + 0x1c);\n        pSVar5 = (STV *)(defined + 0x20);\n        puVar6 = (uchar *)(defined + 0x24);\n        puVar13 = puVar13 + 1;\n        defined = defined + 0x28;\n        pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false);\n        if (puVar12 == puVar13) {\n          return pSVar10;\n        }\n      }\n      puVar1 = (uint64_t *)(defined + 8);\n      puVar2 = (uint64_t *)(defined + 0x10);\n      pSVar3 = (STT *)(defined + 0x18);\n      pSVar4 = (STB *)(defined + 0x1c);\n      pSVar5 = (STV *)(defined + 0x20);\n      puVar6 = (uchar *)(defined + 0x24);\n      iVar7 = defined + 0x25;\n      puVar13 = puVar13 + 1;\n      defined = defined + 0x28;\n      pSVar10 = define_in_output_data\n                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true);\n    } while (puVar12 != puVar13);\n  }" if (parenthesized_expression "(0 < (int)puVar12)" ( (binary_expression "0 < (int)puVar12" number_literal < (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    puVar13 = (undefined *)0x0;\n    do {\n      while( true ) {\n        od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));\n        name_00 = *(char **)defined;\n        if (od != (Output_data *)0x0) break;\n        puVar1 = (uint64_t *)(defined + 0x10);\n        pSVar3 = (STT *)(defined + 0x18);\n        pSVar4 = (STB *)(defined + 0x1c);\n        pSVar5 = (STV *)(defined + 0x20);\n        puVar6 = (uchar *)(defined + 0x24);\n        puVar13 = puVar13 + 1;\n        defined = defined + 0x28;\n        pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false);\n        if (puVar12 == puVar13) {\n          return pSVar10;\n        }\n      }\n      puVar1 = (uint64_t *)(defined + 8);\n      puVar2 = (uint64_t *)(defined + 0x10);\n      pSVar3 = (STT *)(defined + 0x18);\n      pSVar4 = (STB *)(defined + 0x1c);\n      pSVar5 = (STV *)(defined + 0x20);\n      puVar6 = (uchar *)(defined + 0x24);\n      iVar7 = defined + 0x25;\n      puVar13 = puVar13 + 1;\n      defined = defined + 0x28;\n      pSVar10 = define_in_output_data\n                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true);\n    } while (puVar12 != puVar13);\n  }" { (expression_statement "puVar13 = (undefined *)0x0;" (assignment_expression "puVar13 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      while( true ) {\n        od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));\n        name_00 = *(char **)defined;\n        if (od != (Output_data *)0x0) break;\n        puVar1 = (uint64_t *)(defined + 0x10);\n        pSVar3 = (STT *)(defined + 0x18);\n        pSVar4 = (STB *)(defined + 0x1c);\n        pSVar5 = (STV *)(defined + 0x20);\n        puVar6 = (uchar *)(defined + 0x24);\n        puVar13 = puVar13 + 1;\n        defined = defined + 0x28;\n        pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false);\n        if (puVar12 == puVar13) {\n          return pSVar10;\n        }\n      }\n      puVar1 = (uint64_t *)(defined + 8);\n      puVar2 = (uint64_t *)(defined + 0x10);\n      pSVar3 = (STT *)(defined + 0x18);\n      pSVar4 = (STB *)(defined + 0x1c);\n      pSVar5 = (STV *)(defined + 0x20);\n      puVar6 = (uchar *)(defined + 0x24);\n      iVar7 = defined + 0x25;\n      puVar13 = puVar13 + 1;\n      defined = defined + 0x28;\n      pSVar10 = define_in_output_data\n                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true);\n    } while (puVar12 != puVar13);" do (compound_statement "{\n      while( true ) {\n        od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));\n        name_00 = *(char **)defined;\n        if (od != (Output_data *)0x0) break;\n        puVar1 = (uint64_t *)(defined + 0x10);\n        pSVar3 = (STT *)(defined + 0x18);\n        pSVar4 = (STB *)(defined + 0x1c);\n        pSVar5 = (STV *)(defined + 0x20);\n        puVar6 = (uchar *)(defined + 0x24);\n        puVar13 = puVar13 + 1;\n        defined = defined + 0x28;\n        pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false);\n        if (puVar12 == puVar13) {\n          return pSVar10;\n        }\n      }\n      puVar1 = (uint64_t *)(defined + 8);\n      puVar2 = (uint64_t *)(defined + 0x10);\n      pSVar3 = (STT *)(defined + 0x18);\n      pSVar4 = (STB *)(defined + 0x1c);\n      pSVar5 = (STV *)(defined + 0x20);\n      puVar6 = (uchar *)(defined + 0x24);\n      iVar7 = defined + 0x25;\n      puVar13 = puVar13 + 1;\n      defined = defined + 0x28;\n      pSVar10 = define_in_output_data\n                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true);\n    }" { (while_statement "while( true ) {\n        od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));\n        name_00 = *(char **)defined;\n        if (od != (Output_data *)0x0) break;\n        puVar1 = (uint64_t *)(defined + 0x10);\n        pSVar3 = (STT *)(defined + 0x18);\n        pSVar4 = (STB *)(defined + 0x1c);\n        pSVar5 = (STV *)(defined + 0x20);\n        puVar6 = (uchar *)(defined + 0x24);\n        puVar13 = puVar13 + 1;\n        defined = defined + 0x28;\n        pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false);\n        if (puVar12 == puVar13) {\n          return pSVar10;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));\n        name_00 = *(char **)defined;\n        if (od != (Output_data *)0x0) break;\n        puVar1 = (uint64_t *)(defined + 0x10);\n        pSVar3 = (STT *)(defined + 0x18);\n        pSVar4 = (STB *)(defined + 0x1c);\n        pSVar5 = (STV *)(defined + 0x20);\n        puVar6 = (uchar *)(defined + 0x24);\n        puVar13 = puVar13 + 1;\n        defined = defined + 0x28;\n        pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false);\n        if (puVar12 == puVar13) {\n          return pSVar10;\n        }\n      }" { (expression_statement "od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4));" (assignment_expression "od = (Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4))" identifier = (cast_expression "(Output_data *)(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4))" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar14 + 0x208804))(uVar11,*(undefined4 *)(defined + 4))" (parenthesized_expression "(**(code **)(puVar14 + 0x208804))" ( (pointer_expression "**(code **)(puVar14 + 0x208804)" * (pointer_expression "*(code **)(puVar14 + 0x208804)" * (cast_expression "(code **)(puVar14 + 0x208804)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x208804)" ( (binary_expression "puVar14 + 0x208804" identifier + number_literal) ))))) )) (argument_list "(uVar11,*(undefined4 *)(defined + 4))" ( identifier , (pointer_expression "*(undefined4 *)(defined + 4)" * (cast_expression "(undefined4 *)(defined + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 4)" ( (binary_expression "defined + 4" identifier + number_literal) )))) ))))) ;) (expression_statement "name_00 = *(char **)defined;" (assignment_expression "name_00 = *(char **)defined" identifier = (pointer_expression "*(char **)defined" * (cast_expression "(char **)defined" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (od != (Output_data *)0x0) break;" if (parenthesized_expression "(od != (Output_data *)0x0)" ( (binary_expression "od != (Output_data *)0x0" identifier != (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar1 = (uint64_t *)(defined + 0x10);" (assignment_expression "puVar1 = (uint64_t *)(defined + 0x10)" identifier = (cast_expression "(uint64_t *)(defined + 0x10)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x10)" ( (binary_expression "defined + 0x10" identifier + number_literal) )))) ;) (expression_statement "pSVar3 = (STT *)(defined + 0x18);" (assignment_expression "pSVar3 = (STT *)(defined + 0x18)" identifier = (cast_expression "(STT *)(defined + 0x18)" ( (type_descriptor "STT *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x18)" ( (binary_expression "defined + 0x18" identifier + number_literal) )))) ;) (expression_statement "pSVar4 = (STB *)(defined + 0x1c);" (assignment_expression "pSVar4 = (STB *)(defined + 0x1c)" identifier = (cast_expression "(STB *)(defined + 0x1c)" ( (type_descriptor "STB *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x1c)" ( (binary_expression "defined + 0x1c" identifier + number_literal) )))) ;) (expression_statement "pSVar5 = (STV *)(defined + 0x20);" (assignment_expression "pSVar5 = (STV *)(defined + 0x20)" identifier = (cast_expression "(STV *)(defined + 0x20)" ( (type_descriptor "STV *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x20)" ( (binary_expression "defined + 0x20" identifier + number_literal) )))) ;) (expression_statement "puVar6 = (uchar *)(defined + 0x24);" (assignment_expression "puVar6 = (uchar *)(defined + 0x24)" identifier = (cast_expression "(uchar *)(defined + 0x24)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x24)" ( (binary_expression "defined + 0x24" identifier + number_literal) )))) ;) (expression_statement "puVar13 = puVar13 + 1;" (assignment_expression "puVar13 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) (expression_statement "defined = defined + 0x28;" (assignment_expression "defined = defined + 0x28" identifier = (binary_expression "defined + 0x28" identifier + number_literal)) ;) (expression_statement "pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false);" (assignment_expression "pSVar10 = define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false)" identifier = (call_expression "define_as_constant(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false)" identifier (argument_list "(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,\n                                     *pSVar4,*pSVar5,*puVar6,true,false)" ( identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , number_literal , (pointer_expression "*puVar1" * identifier) , (pointer_expression "*pSVar3" * identifier) , (pointer_expression "*pSVar4" * identifier) , (pointer_expression "*pSVar5" * identifier) , (pointer_expression "*puVar6" * identifier) , true , false )))) ;) (if_statement "if (puVar12 == puVar13) {\n          return pSVar10;\n        }" if (parenthesized_expression "(puVar12 == puVar13)" ( (binary_expression "puVar12 == puVar13" identifier == identifier) )) (compound_statement "{\n          return pSVar10;\n        }" { (return_statement "return pSVar10;" return identifier ;) })) })) (expression_statement "puVar1 = (uint64_t *)(defined + 8);" (assignment_expression "puVar1 = (uint64_t *)(defined + 8)" identifier = (cast_expression "(uint64_t *)(defined + 8)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 8)" ( (binary_expression "defined + 8" identifier + number_literal) )))) ;) (expression_statement "puVar2 = (uint64_t *)(defined + 0x10);" (assignment_expression "puVar2 = (uint64_t *)(defined + 0x10)" identifier = (cast_expression "(uint64_t *)(defined + 0x10)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x10)" ( (binary_expression "defined + 0x10" identifier + number_literal) )))) ;) (expression_statement "pSVar3 = (STT *)(defined + 0x18);" (assignment_expression "pSVar3 = (STT *)(defined + 0x18)" identifier = (cast_expression "(STT *)(defined + 0x18)" ( (type_descriptor "STT *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x18)" ( (binary_expression "defined + 0x18" identifier + number_literal) )))) ;) (expression_statement "pSVar4 = (STB *)(defined + 0x1c);" (assignment_expression "pSVar4 = (STB *)(defined + 0x1c)" identifier = (cast_expression "(STB *)(defined + 0x1c)" ( (type_descriptor "STB *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x1c)" ( (binary_expression "defined + 0x1c" identifier + number_literal) )))) ;) (expression_statement "pSVar5 = (STV *)(defined + 0x20);" (assignment_expression "pSVar5 = (STV *)(defined + 0x20)" identifier = (cast_expression "(STV *)(defined + 0x20)" ( (type_descriptor "STV *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x20)" ( (binary_expression "defined + 0x20" identifier + number_literal) )))) ;) (expression_statement "puVar6 = (uchar *)(defined + 0x24);" (assignment_expression "puVar6 = (uchar *)(defined + 0x24)" identifier = (cast_expression "(uchar *)(defined + 0x24)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(defined + 0x24)" ( (binary_expression "defined + 0x24" identifier + number_literal) )))) ;) (expression_statement "iVar7 = defined + 0x25;" (assignment_expression "iVar7 = defined + 0x25" identifier = (binary_expression "defined + 0x25" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar13 + 1;" (assignment_expression "puVar13 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) (expression_statement "defined = defined + 0x28;" (assignment_expression "defined = defined + 0x28" identifier = (binary_expression "defined + 0x28" identifier + number_literal)) ;) (expression_statement "pSVar10 = define_in_output_data\n                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true);" (assignment_expression "pSVar10 = define_in_output_data\n                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true)" identifier = (call_expression "define_in_output_data\n                          (this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true)" identifier (argument_list "(this_00,name_00,(char *)0x0,PREDEFINED,od,*puVar1,*puVar2,*pSVar3,*pSVar4\n                           ,*pSVar5,*puVar6,*(bool *)iVar7,true)" ( identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , (pointer_expression "*puVar1" * identifier) , (pointer_expression "*puVar2" * identifier) , (pointer_expression "*pSVar3" * identifier) , (pointer_expression "*pSVar4" * identifier) , (pointer_expression "*pSVar5" * identifier) , (pointer_expression "*puVar6" * identifier) , (pointer_expression "*(bool *)iVar7" * (cast_expression "(bool *)iVar7" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , true )))) ;) }) while (parenthesized_expression "(puVar12 != puVar13)" ( (binary_expression "puVar12 != puVar13" identifier != identifier) )) ;) })) (return_statement "return pSVar10;" return identifier ;) }))
(translation_unit "void gold::Symbol_table::define_as_constant(void)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 *in_a3;\n  undefined *puVar12;\n  undefined *puVar13;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }\n  uVar9 = 0x8bc;\n  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  puVar13 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);\n  if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }\n  return;\n}\n\n" (function_definition "void gold::Symbol_table::define_as_constant(void)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 *in_a3;\n  undefined *puVar12;\n  undefined *puVar13;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }\n  uVar9 = 0x8bc;\n  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  puVar13 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);\n  if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }\n  return;\n}" primitive_type (ERROR "gold::Symbol_table::" identifier : : identifier : :) (function_declarator "define_as_constant(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 *in_a3;\n  undefined *puVar12;\n  undefined *puVar13;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }\n  uVar9 = 0x8bc;\n  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  puVar13 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);\n  if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3098" identifier + number_literal) ))) ;) }) (else_clause "else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }" else (compound_statement "{\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }" { (expression_statement "iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);" (assignment_expression "iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" identifier = (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x20)" ( (binary_expression "iVar7 == 0x20" identifier == number_literal) )) (compound_statement "{\n      do_define_as_constant<32>();\n      return;\n    }" { (expression_statement "do_define_as_constant<32>();" (binary_expression "do_define_as_constant<32>()" (binary_expression "do_define_as_constant<32" identifier < number_literal) > (parenthesized_expression "()" ( identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x40)" ( (binary_expression "iVar7 == 0x40" identifier == number_literal) )) (compound_statement "{\n      do_define_as_constant<64>();\n      return;\n    }" { (expression_statement "do_define_as_constant<64>();" (binary_expression "do_define_as_constant<64>()" (binary_expression "do_define_as_constant<64" identifier < number_literal) > (parenthesized_expression "()" ( identifier ))) ;) (return_statement "return;" return ;) })) }))) (expression_statement "uVar9 = 0x8bc;" (assignment_expression "uVar9 = 0x8bc" identifier = number_literal) ;) (expression_statement "puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;" (assignment_expression "puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2e60" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;" (assignment_expression "puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal)) ;) (expression_statement "puVar13 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar13 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8,0x8bc)" ( identifier , number_literal ))) ;) (if_statement "if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }" if (parenthesized_expression "(0 < (int)puVar11)" ( (binary_expression "0 < (int)puVar11" number_literal < (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }" { (expression_statement "puVar12 = (undefined *)0x0;" (assignment_expression "puVar12 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);" do (compound_statement "{\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    }" { (while_statement "while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }" { (expression_statement "iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);" (assignment_expression "iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1])" identifier = (call_expression "(**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1])" (parenthesized_expression "(**(code **)(puVar13 + 0x208804))" ( (pointer_expression "**(code **)(puVar13 + 0x208804)" * (pointer_expression "*(code **)(puVar13 + 0x208804)" * (cast_expression "(code **)(puVar13 + 0x208804)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x208804)" ( (binary_expression "puVar13 + 0x208804" identifier + number_literal) ))))) )) (argument_list "(uVar9,in_a3[1])" ( identifier , (subscript_expression "in_a3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar10 = *in_a3;" (assignment_expression "uVar10 = *in_a3" identifier = (pointer_expression "*in_a3" * identifier)) ;) (if_statement "if (iVar7 != 0) break;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar1 = in_a3 + 5;" (assignment_expression "puVar1 = in_a3 + 5" identifier = (binary_expression "in_a3 + 5" identifier + number_literal)) ;) (expression_statement "puVar2 = in_a3 + 4;" (assignment_expression "puVar2 = in_a3 + 4" identifier = (binary_expression "in_a3 + 4" identifier + number_literal)) ;) (expression_statement "puVar3 = in_a3 + 6;" (assignment_expression "puVar3 = in_a3 + 6" identifier = (binary_expression "in_a3 + 6" identifier + number_literal)) ;) (expression_statement "puVar4 = in_a3 + 7;" (assignment_expression "puVar4 = in_a3 + 7" identifier = (binary_expression "in_a3 + 7" identifier + number_literal)) ;) (expression_statement "puVar5 = in_a3 + 8;" (assignment_expression "puVar5 = in_a3 + 8" identifier = (binary_expression "in_a3 + 8" identifier + number_literal)) ;) (expression_statement "puVar6 = in_a3 + 9;" (assignment_expression "puVar6 = in_a3 + 9" identifier = (binary_expression "in_a3 + 9" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "in_a3 = in_a3 + 10;" (assignment_expression "in_a3 = in_a3 + 10" identifier = (binary_expression "in_a3 + 10" identifier + number_literal)) ;) (expression_statement "define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);" (call_expression "define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0)" identifier (argument_list "(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal , (pointer_expression "*puVar2" * identifier) , (pointer_expression "*puVar1" * identifier) , (pointer_expression "*puVar3" * identifier) , (pointer_expression "*puVar4" * identifier) , (pointer_expression "*puVar5" * identifier) , (pointer_expression "*(undefined1 *)puVar6" * (cast_expression "(undefined1 *)puVar6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , number_literal ))) ;) (if_statement "if (puVar11 == puVar12) {\n          return;\n        }" if (parenthesized_expression "(puVar11 == puVar12)" ( (binary_expression "puVar11 == puVar12" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "in_a3 = in_a3 + 10;" (assignment_expression "in_a3 = in_a3 + 10" identifier = (binary_expression "in_a3 + 10" identifier + number_literal)) ;) (expression_statement "define_in_output_data(puVar8,uVar10,0,5,iVar7);" (call_expression "define_in_output_data(puVar8,uVar10,0,5,iVar7)" identifier (argument_list "(puVar8,uVar10,0,5,iVar7)" ( identifier , identifier , number_literal , number_literal , identifier ))) ;) }) while (parenthesized_expression "(puVar11 != puVar12)" ( (binary_expression "puVar11 != puVar12" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (binary_expression (binary_expression IDENT < LIT) > (parenthesized_expression ( IDENT ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (binary_expression (binary_expression IDENT < LIT) > (parenthesized_expression ( IDENT ))) ;) (return_statement return ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT , LIT , (pointer_expression * IDENT) , (pointer_expression * IDENT) , (pointer_expression * IDENT) , (pointer_expression * IDENT) , (pointer_expression * IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void gold::Symbol_table::define_as_constant(void)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 *in_a3;\n  undefined *puVar12;\n  undefined *puVar13;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }\n  uVar9 = 0x8bc;\n  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  puVar13 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);\n  if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }\n  return;\n}" (primitive_type "void") (ERROR "gold::Symbol_table::" (identifier "gold") (: ":") (: ":") (identifier "Symbol_table") (: ":") (: ":")) (function_declarator "define_as_constant(void)" (identifier "define_as_constant") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 *in_a3;\n  undefined *puVar12;\n  undefined *puVar13;\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }\n  uVar9 = 0x8bc;\n  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  puVar13 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);\n  if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }\n  return;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 *in_a3;" (type_identifier "undefined4") (pointer_declarator "*in_a3" (* "*") (identifier "in_a3")) (; ";")) (declaration "undefined *puVar12;" (type_identifier "undefined") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }\n  else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n               PTR_s_in_a_linker_script_004c191c + 0x3098)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x69") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3098" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x3098")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }" (else "else") (compound_statement "{\n    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }\n    if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }\n  }" ({ "{") (expression_statement "iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);" (assignment_expression "iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (identifier "iVar7") (= "=") (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (* "*") (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (* "*") (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")")))))) (; ";")) (if_statement "if (iVar7 == 0x20) {\n      do_define_as_constant<32>();\n      return;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0x20)" (( "(") (binary_expression "iVar7 == 0x20" (identifier "iVar7") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      do_define_as_constant<32>();\n      return;\n    }" ({ "{") (expression_statement "do_define_as_constant<32>();" (binary_expression "do_define_as_constant<32>()" (binary_expression "do_define_as_constant<32" (identifier "do_define_as_constant") (< "<") (number_literal "32")) (> ">") (parenthesized_expression "()" (( "(") (identifier "") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar7 == 0x40) {\n      do_define_as_constant<64>();\n      return;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0x40)" (( "(") (binary_expression "iVar7 == 0x40" (identifier "iVar7") (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n      do_define_as_constant<64>();\n      return;\n    }" ({ "{") (expression_statement "do_define_as_constant<64>();" (binary_expression "do_define_as_constant<64>()" (binary_expression "do_define_as_constant<64" (identifier "do_define_as_constant") (< "<") (number_literal "64")) (> ">") (parenthesized_expression "()" (( "(") (identifier "") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar9 = 0x8bc;" (assignment_expression "uVar9 = 0x8bc" (identifier "uVar9") (= "=") (number_literal "0x8bc")) (; ";")) (expression_statement "puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;" (assignment_expression "puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60" (identifier "puVar11") (= "=") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2e60" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x2e60"))) (; ";")) (expression_statement "puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;" (assignment_expression "puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0" (identifier "puVar8") (= "=") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x24b0"))) (; ";")) (expression_statement "puVar13 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar13 = PTR_do_gold_unreachable_004c1a30" (identifier "puVar13") (= "=") (identifier "PTR_do_gold_unreachable_004c1a30")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(puVar8,0x8bc)" (( "(") (identifier "puVar8") (, ",") (number_literal "0x8bc") () ")"))) (; ";")) (if_statement "if (0 < (int)puVar11) {\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }" (if "if") (parenthesized_expression "(0 < (int)puVar11)" (( "(") (binary_expression "0 < (int)puVar11" (number_literal "0") (< "<") (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11"))) () ")")) (compound_statement "{\n    puVar12 = (undefined *)0x0;\n    do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);\n  }" ({ "{") (expression_statement "puVar12 = (undefined *)0x0;" (assignment_expression "puVar12 = (undefined *)0x0" (identifier "puVar12") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    } while (puVar11 != puVar12);" (do "do") (compound_statement "{\n      while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }\n      puVar12 = puVar12 + 1;\n      in_a3 = in_a3 + 10;\n      define_in_output_data(puVar8,uVar10,0,5,iVar7);\n    }" ({ "{") (while_statement "while( true ) {\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);\n        uVar10 = *in_a3;\n        if (iVar7 != 0) break;\n        puVar1 = in_a3 + 5;\n        puVar2 = in_a3 + 4;\n        puVar3 = in_a3 + 6;\n        puVar4 = in_a3 + 7;\n        puVar5 = in_a3 + 8;\n        puVar6 = in_a3 + 9;\n        puVar12 = puVar12 + 1;\n        in_a3 = in_a3 + 10;\n        define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);\n        if (puVar11 == puVar12) {\n          return;\n        }\n      }" ({ "{") (expression_statement "iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);" (assignment_expression "iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1])" (identifier "iVar7") (= "=") (call_expression "(**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1])" (parenthesized_expression "(**(code **)(puVar13 + 0x208804))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x208804)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x208804)" (* "*") (cast_expression "(code **)(puVar13 + 0x208804)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x208804)" (( "(") (binary_expression "puVar13 + 0x208804" (identifier "puVar13") (+ "+") (number_literal "0x208804")) () ")"))))) () ")")) (argument_list "(uVar9,in_a3[1])" (( "(") (identifier "uVar9") (, ",") (subscript_expression "in_a3[1]" (identifier "in_a3") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "uVar10 = *in_a3;" (assignment_expression "uVar10 = *in_a3" (identifier "uVar10") (= "=") (pointer_expression "*in_a3" (* "*") (identifier "in_a3"))) (; ";")) (if_statement "if (iVar7 != 0) break;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar1 = in_a3 + 5;" (assignment_expression "puVar1 = in_a3 + 5" (identifier "puVar1") (= "=") (binary_expression "in_a3 + 5" (identifier "in_a3") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "puVar2 = in_a3 + 4;" (assignment_expression "puVar2 = in_a3 + 4" (identifier "puVar2") (= "=") (binary_expression "in_a3 + 4" (identifier "in_a3") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar3 = in_a3 + 6;" (assignment_expression "puVar3 = in_a3 + 6" (identifier "puVar3") (= "=") (binary_expression "in_a3 + 6" (identifier "in_a3") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "puVar4 = in_a3 + 7;" (assignment_expression "puVar4 = in_a3 + 7" (identifier "puVar4") (= "=") (binary_expression "in_a3 + 7" (identifier "in_a3") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "puVar5 = in_a3 + 8;" (assignment_expression "puVar5 = in_a3 + 8" (identifier "puVar5") (= "=") (binary_expression "in_a3 + 8" (identifier "in_a3") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar6 = in_a3 + 9;" (assignment_expression "puVar6 = in_a3 + 9" (identifier "puVar6") (= "=") (binary_expression "in_a3 + 9" (identifier "in_a3") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" (identifier "puVar12") (= "=") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "in_a3 = in_a3 + 10;" (assignment_expression "in_a3 = in_a3 + 10" (identifier "in_a3") (= "=") (binary_expression "in_a3 + 10" (identifier "in_a3") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0);" (call_expression "define_as_constant(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0)" (identifier "define_as_constant") (argument_list "(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,\n                           *(undefined1 *)puVar6,0x40,0)" (( "(") (identifier "puVar8") (, ",") (identifier "uVar10") (, ",") (number_literal "0") (, ",") (number_literal "5") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (, ",") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (, ",") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (, ",") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (, ",") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (pointer_expression "*(undefined1 *)puVar6" (* "*") (cast_expression "(undefined1 *)puVar6" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (, ",") (number_literal "0x40") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (puVar11 == puVar12) {\n          return;\n        }" (if "if") (parenthesized_expression "(puVar11 == puVar12)" (( "(") (binary_expression "puVar11 == puVar12" (identifier "puVar11") (== "==") (identifier "puVar12")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" (identifier "puVar12") (= "=") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "in_a3 = in_a3 + 10;" (assignment_expression "in_a3 = in_a3 + 10" (identifier "in_a3") (= "=") (binary_expression "in_a3 + 10" (identifier "in_a3") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "define_in_output_data(puVar8,uVar10,0,5,iVar7);" (call_expression "define_in_output_data(puVar8,uVar10,0,5,iVar7)" (identifier "define_in_output_data") (argument_list "(puVar8,uVar10,0,5,iVar7)" (( "(") (identifier "puVar8") (, ",") (identifier "uVar10") (, ",") (number_literal "0") (, ",") (number_literal "5") (, ",") (identifier "iVar7") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar11 != puVar12)" (( "(") (binary_expression "puVar11 != puVar12" (identifier "puVar11") (!= "!=") (identifier "puVar12")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x002b96d4) */
/* WARNING: Removing unreachable block (ram,0x002b9760) */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "STB": Some values do not have unique names */
/* DWARF original prototype: Symbol * define_as_constant(Symbol_table * this, char * name, char *
   version, Defined defined, uint64_t value, uint64_t symsize, STT type, STB binding, STV
   visibility, uchar nonvis, bool only_if_ref, bool force_override) */

type_5 * __thiscall
gold::type_7::var_10
          (type_7 *this,char *name,char *version,Defined var_7,uint64_t value,
          uint64_t symsize,type_1 type,type_2 binding,type_3 visibility,type_4 nonvis,bool only_if_ref,
          bool force_override)

{
  uint64_t *puVar1;
  uint64_t *puVar2;
  type_1 *pSVar3;
  type_2 *pSVar4;
  type_3 *pSVar5;
  type_4 *puVar6;
  int var_4;
  var_1<64> *pSVar8;
  var_1<32> *pSVar9;
  type_5 *pSVar10;
  type_6 *var_8;
  type_7 *this_00;
  type_8 uVar11;
  char *name_00;
  type_9 *var_11;
  type_9 *var_9;
  type_9 *var_6;
  
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {
    (*(type_10 *)PTR_do_gold_unreachable_004c1a30)
              (var_2 + -0x9b8,0x69,
               var_3 + 0x3098);
  }
  else {
    var_4 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);
    if (var_4 == 0x20) {
      pSVar9 = var_5<32>
                         (this,name,version,var_7,value._4_4_,symsize._4_4_,type,binding,
                          visibility,nonvis,only_if_ref,force_override);
      return &pSVar9->super_Symbol;
    }
    if (var_4 == 0x40) {
      pSVar8 = var_5<64>
                         (this,name,version,var_7,value,symsize,type,binding,visibility,nonvis,
                          only_if_ref,force_override);
      return &pSVar8->super_Symbol;
    }
  }
  uVar11 = 0x8bc;
  var_11 = var_3 + 0x2e60;
  this_00 = (type_7 *)(var_3 + 0x24b0);
  var_6 = PTR_do_gold_unreachable_004c1a30;
  pSVar10 = (type_5 *)(*(type_10 *)PTR_do_gold_unreachable_004c1a30)(this_00,0x8bc);
  if (0 < (int)var_11) {
    var_9 = (type_9 *)0x0;
    do {
      while( true ) {
        var_8 = (type_6 *)(**(type_10 **)(var_6 + 0x208804))(uVar11,*(type_8 *)(var_7 + 4));
        name_00 = *(char **)var_7;
        if (var_8 != (type_6 *)0x0) break;
        puVar1 = (uint64_t *)(var_7 + 0x10);
        pSVar3 = (type_1 *)(var_7 + 0x18);
        pSVar4 = (type_2 *)(var_7 + 0x1c);
        pSVar5 = (type_3 *)(var_7 + 0x20);
        puVar6 = (type_4 *)(var_7 + 0x24);
        var_9 = var_9 + 1;
        var_7 = var_7 + 0x28;
        pSVar10 = var_10(this_00,name_00,(char *)0x0,PREDEFINED,0,*puVar1,*pSVar3,
                                     *pSVar4,*pSVar5,*puVar6,true,false);
        if (var_11 == var_9) {
          return pSVar10;
        }
      }
      puVar1 = (uint64_t *)(var_7 + 8);
      puVar2 = (uint64_t *)(var_7 + 0x10);
      pSVar3 = (type_1 *)(var_7 + 0x18);
      pSVar4 = (type_2 *)(var_7 + 0x1c);
      pSVar5 = (type_3 *)(var_7 + 0x20);
      puVar6 = (type_4 *)(var_7 + 0x24);
      var_4 = var_7 + 0x25;
      var_9 = var_9 + 1;
      var_7 = var_7 + 0x28;
      pSVar10 = var_12
                          (this_00,name_00,(char *)0x0,PREDEFINED,var_8,*puVar1,*puVar2,*pSVar3,*pSVar4
                           ,*pSVar5,*puVar6,*(bool *)var_4,true);
    } while (var_11 != var_9);
  }
  return pSVar10;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (MISSING identifier)))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (MISSING identifier)))) (return_statement)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (number_literal) (number_literal) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (number_literal) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement))))

/* WARNING: Removing unreachable block (ram,0x002b96d4) */
/* WARNING: Removing unreachable block (ram,0x002b9760) */
/* gold::Symbol_table::MASKED(char const*, char const*, gold::Symbol_table::Defined,
   unsigned long long, unsigned long long, elfcpp::STT, elfcpp::STB, elfcpp::STV, unsigned char,
   bool, bool) */

void gold::Symbol_table::MASKED(void)

{
  undefined4 *puVar1;
  undefined4 *puVar2;
  undefined4 *puVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  int iVar7;
  undefined *puVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined *puVar11;
  undefined4 *in_a3;
  undefined *puVar12;
  undefined *puVar13;
  
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
               PTR_s_in_a_linker_script_004c191c + 0x3098);
  }
  else {
    iVar7 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);
    if (iVar7 == 0x20) {
      do_MASKED<32>();
      return;
    }
    if (iVar7 == 0x40) {
      do_MASKED<64>();
      return;
    }
  }
  uVar9 = 0x8bc;
  puVar11 = PTR_s_in_a_linker_script_004c191c + 0x2e60;
  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;
  puVar13 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x8bc);
  if (0 < (int)puVar11) {
    puVar12 = (undefined *)0x0;
    do {
      while( true ) {
        iVar7 = (**(code **)(puVar13 + 0x208804))(uVar9,in_a3[1]);
        uVar10 = *in_a3;
        if (iVar7 != 0) break;
        puVar1 = in_a3 + 5;
        puVar2 = in_a3 + 4;
        puVar3 = in_a3 + 6;
        puVar4 = in_a3 + 7;
        puVar5 = in_a3 + 8;
        puVar6 = in_a3 + 9;
        puVar12 = puVar12 + 1;
        in_a3 = in_a3 + 10;
        MASKED(puVar8,uVar10,0,5,0,0,*puVar2,*puVar1,*puVar3,*puVar4,*puVar5,
                           *(undefined1 *)puVar6,0x40,0);
        if (puVar11 == puVar12) {
          return;
        }
      }
      puVar12 = puVar12 + 1;
      in_a3 = in_a3 + 10;
      define_in_output_data(puVar8,uVar10,0,5,iVar7);
    } while (puVar11 != puVar12);
  }
  return;
}

