
/* DWARF original prototype: void print(Output_section_element_input * this, FILE * f) */

void __thiscall
gold::Output_section_element_input::print(Output_section_element_input *this,FILE *f)

{
  char cVar1;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *pbVar2;
  string *psVar3;
  pointer ppVar4;
  pointer pIVar5;
  
  fwrite(&DAT_0058013c,1,4,(FILE *)f);
  if (this->keep_ != false) {
    fwrite("KEEP(",1,5,(FILE *)f);
  }
  if ((this->filename_pattern_)._M_string_length == 0) {
LAB_00428126:
    if ((this->input_section_patterns_).
        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
        ._M_impl._M_start ==
        (this->input_section_patterns_).
        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
        ._M_impl._M_finish) {
LAB_00428369:
      if ((this->filename_exclusions_).
          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>
          ._M_impl._M_start ==
          (this->filename_exclusions_).
          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>
          ._M_impl._M_finish) {
        cVar1 = this->keep_;
        goto joined_r0x0042837f;
      }
    }
  }
  else {
    if (this->filename_sort_ != SORT_WILDCARD_NONE) {
      if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");
      }
      fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);
      fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);
      fputc(0x29,(FILE *)f);
      goto LAB_00428126;
    }
    fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);
    if ((this->input_section_patterns_).
        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
        ._M_impl._M_start ==
        (this->input_section_patterns_).
        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
        ._M_impl._M_finish) goto LAB_00428369;
  }
  fputc(0x28,(FILE *)f);
  if ((this->filename_exclusions_).
      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>
      ._M_impl._M_start ==
      (this->filename_exclusions_).
      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>
      ._M_impl._M_finish) {
    pIVar5 = (this->input_section_patterns_).
             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
             ._M_impl._M_start;
    if (pIVar5 != (this->input_section_patterns_).
                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
                  ._M_impl._M_finish) goto LAB_004281c0;
  }
  else {
    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);
    ppVar4 = (this->filename_exclusions_).
             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>
             ._M_impl._M_start;
    if (ppVar4 != (this->filename_exclusions_).
                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>
                  ._M_impl._M_finish) {
      while( true ) {
        pbVar2 = &ppVar4->first;
        ppVar4 = ppVar4 + 1;
        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);
        if ((this->filename_exclusions_).
            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>
            ._M_impl._M_finish == ppVar4) break;
        fwrite(", ",1,2,(FILE *)f);
      }
    }
    fputc(0x29,(FILE *)f);
    pIVar5 = (this->input_section_patterns_).
             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
             ._M_impl._M_start;
    if (pIVar5 != (this->input_section_patterns_).
                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
                  ._M_impl._M_finish) {
LAB_0042822d:
      do {
        fputc(0x20,(FILE *)f);
LAB_004281c0:
        switch(pIVar5->sort) {
        case SORT_WILDCARD_NONE:
          psVar3 = &pIVar5->pattern;
          pIVar5 = pIVar5 + 1;
          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);
          if (pIVar5 == (this->input_section_patterns_).
                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
                        ._M_impl._M_finish) goto LAB_00428320;
          goto LAB_0042822d;
        case SORT_WILDCARD_BY_NAME:
          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);
          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);
          break;
        case SORT_WILDCARD_BY_ALIGNMENT:
          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);
          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);
          break;
        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:
          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);
          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);
          goto LAB_00428204;
        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:
          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);
          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);
LAB_00428204:
          fputc(0x29,(FILE *)f);
          break;
        case SORT_WILDCARD_BY_INIT_PRIORITY:
          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);
          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);
          break;
        default:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");
        }
        pIVar5 = pIVar5 + 1;
        fputc(0x29,(FILE *)f);
      } while (pIVar5 != (this->input_section_patterns_).
                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>
                         ._M_impl._M_finish);
    }
  }
LAB_00428320:
  fputc(0x29,(FILE *)f);
  cVar1 = this->keep_;
joined_r0x0042837f:
  if (cVar1 != '\0') {
    fputc(0x29,(FILE *)f);
  }
  fputc(10,(FILE *)f);
  return;
}



void FUN_004280a0(long param_1,FILE *param_2)

{
  char cVar1;
  char *pcVar2;
  undefined8 *puVar3;
  
  fwrite(&DAT_0058013c,1,4,param_2);
  if (*(char *)(param_1 + 0x60) != '\0') {
    fwrite("KEEP(",1,5,param_2);
  }
  if (*(long *)(param_1 + 0x10) == 0) {
LAB_00428126:
    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {
LAB_00428369:
      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {
        cVar1 = *(char *)(param_1 + 0x60);
        goto joined_r0x0042837f;
      }
    }
  }
  else {
    if (*(int *)(param_1 + 0x2c) != 0) {
      if (*(int *)(param_1 + 0x2c) != 1) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");
      }
      fwrite("SORT_BY_NAME(",1,0xd,param_2);
      fputs(*(char **)(param_1 + 8),param_2);
      fputc(0x29,param_2);
      goto LAB_00428126;
    }
    fputs(*(char **)(param_1 + 8),param_2);
    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;
  }
  fputc(0x28,param_2);
  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {
    puVar3 = *(undefined8 **)(param_1 + 0x48);
    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;
  }
  else {
    fwrite("EXCLUDE_FILE(",1,0xd,param_2);
    puVar3 = *(undefined8 **)(param_1 + 0x30);
    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {
      while( true ) {
        pcVar2 = (char *)*puVar3;
        puVar3 = puVar3 + 5;
        fputs(pcVar2,param_2);
        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;
        fwrite(", ",1,2,param_2);
      }
    }
    fputc(0x29,param_2);
    puVar3 = *(undefined8 **)(param_1 + 0x48);
    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {
LAB_0042822d:
      do {
        fputc(0x20,param_2);
LAB_004281c0:
        switch(*(undefined4 *)((long)puVar3 + 0x24)) {
        case 0:
          pcVar2 = (char *)*puVar3;
          puVar3 = puVar3 + 5;
          fputs(pcVar2,param_2);
          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;
          goto LAB_0042822d;
        case 1:
          fwrite("SORT_BY_NAME(",1,0xd,param_2);
          fputs((char *)*puVar3,param_2);
          break;
        case 2:
          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);
          fputs((char *)*puVar3,param_2);
          break;
        case 3:
          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);
          fputs((char *)*puVar3,param_2);
          goto LAB_00428204;
        case 4:
          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);
          fputs((char *)*puVar3,param_2);
LAB_00428204:
          fputc(0x29,param_2);
          break;
        case 5:
          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);
          fputs((char *)*puVar3,param_2);
          break;
        default:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");
        }
        puVar3 = puVar3 + 5;
        fputc(0x29,param_2);
      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));
    }
  }
LAB_00428320:
  fputc(0x29,param_2);
  cVar1 = *(char *)(param_1 + 0x60);
joined_r0x0042837f:
  if (cVar1 != '\0') {
    fputc(0x29,param_2);
  }
  fputc(10,param_2);
  return;
}


PUSH R13
MOV RCX,RSI
MOV EDX,0x4
PUSH R12
MOV R12,RDI
LEA RDI,[0x58013c]
PUSH RBP
MOV RBP,RSI
MOV ESI,0x1
PUSH RBX
SUB RSP,0x8
CALL 0x001779a0
CMP byte ptr [R12 + 0x60],0x0
JNZ 0x004283b2
CMP qword ptr [R12 + 0x10],0x0
JZ 0x00428126
MOV EAX,dword ptr [R12 + 0x2c]
TEST EAX,EAX
JZ 0x0042834c
CMP EAX,0x1
JNZ 0x004283e8
MOV RCX,RBP
MOV EDX,0xd
MOV ESI,0x1
LEA RDI,[0x57f05c]
CALL 0x001779a0
MOV RDI,qword ptr [R12 + 0x8]
MOV RSI,RBP
CALL 0x00177640
MOV RSI,RBP
MOV EDI,0x29
CALL 0x00177450
MOV RAX,qword ptr [R12 + 0x50]
CMP qword ptr [R12 + 0x48],RAX
JZ 0x00428369
MOV RSI,RBP
MOV EDI,0x28
CALL 0x00177450
MOV RAX,qword ptr [R12 + 0x38]
CMP qword ptr [R12 + 0x30],RAX
JZ 0x004281b0
MOV RCX,RBP
MOV EDX,0xd
MOV ESI,0x1
LEA RDI,[0x57f06a]
CALL 0x001779a0
MOV RBX,qword ptr [R12 + 0x30]
CMP RBX,qword ptr [R12 + 0x38]
JZ 0x00428390
LEA R13,[0x586eab]
MOV RDI,qword ptr [RBX]
MOV RSI,RBP
ADD RBX,0x28
CALL 0x00177640
CMP qword ptr [R12 + 0x38],RBX
JZ 0x00428390
MOV RCX,RBP
MOV EDX,0x2
MOV ESI,0x1
MOV RDI,R13
CALL 0x001779a0
JMP 0x0042817f
MOV RBX,qword ptr [R12 + 0x48]
CMP RBX,qword ptr [R12 + 0x50]
JZ 0x00428320
CMP dword ptr [RBX + 0x24],0x5
JA 0x004283d0
MOV EAX,dword ptr [RBX + 0x24]
LEA RDX,[0x57f740]
MOVSXD RAX,dword ptr [RDX + RAX*0x4]
ADD RAX,RDX
JMP RAX
MOV ESI,0x1
LEA RDI,[0x57f218]
MOV RCX,RBP
MOV EDX,0x1f
CALL 0x001779a0
MOV RDI,qword ptr [RBX]
MOV RSI,RBP
CALL 0x00177640
MOV RSI,RBP
MOV EDI,0x29
CALL 0x00177450
MOV RSI,RBP
MOV EDI,0x29
ADD RBX,0x28
CALL 0x00177450
CMP RBX,qword ptr [R12 + 0x50]
JZ 0x00428320
MOV RSI,RBP
MOV EDI,0x20
CALL 0x00177450
JMP 0x004281c0
MOV RCX,RBP
MOV EDX,0x1f
MOV ESI,0x1
LEA RDI,[0x57f1f8]
CALL 0x001779a0
MOV RDI,qword ptr [RBX]
MOV RSI,RBP
CALL 0x00177640
JMP 0x00428204
MOV RCX,RBP
MOV EDX,0x12
MOV ESI,0x1
LEA RDI,[0x57f078]
CALL 0x001779a0
MOV RDI,qword ptr [RBX]
MOV RSI,RBP
CALL 0x00177640
JMP 0x00428211
MOV RCX,RBP
MOV EDX,0xd
MOV ESI,0x1
LEA RDI,[0x57f05c]
CALL 0x001779a0
MOV RDI,qword ptr [RBX]
MOV RSI,RBP
CALL 0x00177640
JMP 0x00428211
MOV RCX,RBP
MOV EDX,0x16
MOV ESI,0x1
LEA RDI,[0x57f08b]
CALL 0x001779a0
MOV RDI,qword ptr [RBX]
MOV RSI,RBP
CALL 0x00177640
JMP 0x00428211
MOV RDI,qword ptr [RBX]
MOV RSI,RBP
ADD RBX,0x28
CALL 0x00177640
CMP RBX,qword ptr [R12 + 0x50]
JNZ 0x0042822d
NOP word ptr [RAX + RAX*0x1]
MOV RSI,RBP
MOV EDI,0x29
CALL 0x00177450
CMP byte ptr [R12 + 0x60],0x0
JNZ 0x00428381
ADD RSP,0x8
MOV RSI,RBP
MOV EDI,0xa
POP RBX
POP RBP
POP R12
POP R13
JMP 0x00177450
MOV RDI,qword ptr [R12 + 0x8]
MOV RSI,RBP
CALL 0x00177640
MOV RAX,qword ptr [R12 + 0x50]
CMP qword ptr [R12 + 0x48],RAX
JNZ 0x00428136
MOV RAX,qword ptr [R12 + 0x38]
CMP qword ptr [R12 + 0x30],RAX
JNZ 0x00428136
CMP byte ptr [R12 + 0x60],0x0
JZ 0x00428335
MOV RSI,RBP
MOV EDI,0x29
CALL 0x00177450
JMP 0x00428335
MOV RSI,RBP
MOV EDI,0x29
CALL 0x00177450
MOV RBX,qword ptr [R12 + 0x48]
CMP RBX,qword ptr [R12 + 0x50]
JZ 0x00428320
JMP 0x0042822d
MOV RCX,RBP
MOV EDX,0x5
MOV ESI,0x1
LEA RDI,[0x57f056]
CALL 0x001779a0
JMP 0x004280d5
LEA RDX,[0x57fa50]
MOV ESI,0x780
LEA RDI,[0x57efe3]
CALL 0x00352af0
LEA RDX,[0x57fa50]
MOV ESI,0x73d
LEA RDI,[0x57efe3]
CALL 0x00352af0
(translation_unit "void FUN_004280a0(long param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined8 *puVar3;\n  \n  fwrite(&DAT_0058013c,1,4,param_2);\n  if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }\n  fputc(0x28,param_2);\n  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }\nLAB_00428320:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x60);\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}\n\n" (function_definition "void FUN_004280a0(long param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined8 *puVar3;\n  \n  fwrite(&DAT_0058013c,1,4,param_2);\n  if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }\n  fputc(0x28,param_2);\n  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }\nLAB_00428320:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x60);\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_004280a0(long param_1,FILE *param_2)" identifier (parameter_list "(long param_1,FILE *param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "FILE *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  char *pcVar2;\n  undefined8 *puVar3;\n  \n  fwrite(&DAT_0058013c,1,4,param_2);\n  if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }\n  fputc(0x28,param_2);\n  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }\nLAB_00428320:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x60);\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (expression_statement "fwrite(&DAT_0058013c,1,4,param_2);" (call_expression "fwrite(&DAT_0058013c,1,4,param_2)" identifier (argument_list "(&DAT_0058013c,1,4,param_2)" ( (pointer_expression "&DAT_0058013c" & identifier) , number_literal , number_literal , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x60) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x60) != '\0'" (pointer_expression "*(char *)(param_1 + 0x60)" * (cast_expression "(char *)(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    fwrite("KEEP(",1,5,param_2);\n  }" { (expression_statement "fwrite("KEEP(",1,5,param_2);" (call_expression "fwrite("KEEP(",1,5,param_2)" identifier (argument_list "("KEEP(",1,5,param_2)" ( (string_literal ""KEEP("" " string_content ") , number_literal , number_literal , identifier ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x10) == 0)" ( (binary_expression "*(long *)(param_1 + 0x10) == 0" (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }" { (labeled_statement "LAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }" statement_identifier : (if_statement "if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50))" ( (binary_expression "*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)" (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) == (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }" { (labeled_statement "LAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }" statement_identifier : (if_statement "if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }" if (parenthesized_expression "(*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38))" ( (binary_expression "*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)" (pointer_expression "*(long *)(param_1 + 0x30)" * (cast_expression "(long *)(param_1 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }" { (expression_statement "cVar1 = *(char *)(param_1 + 0x60);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x60)" identifier = (pointer_expression "*(char *)(param_1 + 0x60)" * (cast_expression "(char *)(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x0042837f;" goto statement_identifier ;) }))) }))) }) (else_clause "else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }" else (compound_statement "{\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }" { (if_statement "if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }" { (if_statement "if (*(int *)(param_1 + 0x2c) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 1)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 1" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }" { comment (expression_statement "FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");" (call_expression "FUN_00352af0("../../gold/script-sections.cc",0x73d,"print")" identifier (argument_list "("../../gold/script-sections.cc",0x73d,"print")" ( (string_literal ""../../gold/script-sections.cc"" " string_content ") , number_literal , (string_literal ""print"" " string_content ") ))) ;) })) (expression_statement "fwrite("SORT_BY_NAME(",1,0xd,param_2);" (call_expression "fwrite("SORT_BY_NAME(",1,0xd,param_2)" identifier (argument_list "("SORT_BY_NAME(",1,0xd,param_2)" ( (string_literal ""SORT_BY_NAME("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs(*(char **)(param_1 + 8),param_2);" (call_expression "fputs(*(char **)(param_1 + 8),param_2)" identifier (argument_list "(*(char **)(param_1 + 8),param_2)" ( (pointer_expression "*(char **)(param_1 + 8)" * (cast_expression "(char **)(param_1 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (goto_statement "goto LAB_00428126;" goto statement_identifier ;) })) (expression_statement "fputs(*(char **)(param_1 + 8),param_2);" (call_expression "fputs(*(char **)(param_1 + 8),param_2)" identifier (argument_list "(*(char **)(param_1 + 8),param_2)" ( (pointer_expression "*(char **)(param_1 + 8)" * (cast_expression "(char **)(param_1 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , identifier ))) ;) (if_statement "if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;" if (parenthesized_expression "(*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50))" ( (binary_expression "*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)" (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) == (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00428369;" goto statement_identifier ;)) }))) (expression_statement "fputc(0x28,param_2);" (call_expression "fputc(0x28,param_2)" identifier (argument_list "(0x28,param_2)" ( number_literal , identifier ))) ;) (if_statement "if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38))" ( (binary_expression "*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)" (pointer_expression "*(long *)(param_1 + 0x30)" * (cast_expression "(long *)(param_1 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }" { (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x48);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x48)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x48)" * (cast_expression "(undefined8 **)(param_1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;" if (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x50))" ( (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x50)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x50)" * (cast_expression "(undefined8 **)(param_1 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (goto_statement "goto LAB_004281c0;" goto statement_identifier ;)) }) (else_clause "else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }" else (compound_statement "{\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }" { (expression_statement "fwrite("EXCLUDE_FILE(",1,0xd,param_2);" (call_expression "fwrite("EXCLUDE_FILE(",1,0xd,param_2)" identifier (argument_list "("EXCLUDE_FILE(",1,0xd,param_2)" ( (string_literal ""EXCLUDE_FILE("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x30);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x30)" * (cast_expression "(undefined8 **)(param_1 + 0x30)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }" if (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x38))" ( (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x38)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x38)" * (cast_expression "(undefined8 **)(param_1 + 0x38)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }" { (while_statement "while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }" { (expression_statement "pcVar2 = (char *)*puVar3;" (assignment_expression "pcVar2 = (char *)*puVar3" identifier = (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "puVar3 = puVar3 + 5;" (assignment_expression "puVar3 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "fputs(pcVar2,param_2);" (call_expression "fputs(pcVar2,param_2)" identifier (argument_list "(pcVar2,param_2)" ( identifier , identifier ))) ;) (if_statement "if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;" if (parenthesized_expression "(*(undefined8 **)(param_1 + 0x38) == puVar3)" ( (binary_expression "*(undefined8 **)(param_1 + 0x38) == puVar3" (pointer_expression "*(undefined8 **)(param_1 + 0x38)" * (cast_expression "(undefined8 **)(param_1 + 0x38)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) == identifier) )) (break_statement "break;" break ;)) (expression_statement "fwrite(", ",1,2,param_2);" (call_expression "fwrite(", ",1,2,param_2)" identifier (argument_list "(", ",1,2,param_2)" ( (string_literal "", "" " string_content ") , number_literal , number_literal , identifier ))) ;) })) })) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x48);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x48)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x48)" * (cast_expression "(undefined8 **)(param_1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }" if (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x50))" ( (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x50)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x50)" * (cast_expression "(undefined8 **)(param_1 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }" { (labeled_statement "LAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));" statement_identifier : (do_statement "do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));" do (compound_statement "{\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      }" { (expression_statement "fputc(0x20,param_2);" (call_expression "fputc(0x20,param_2)" identifier (argument_list "(0x20,param_2)" ( number_literal , identifier ))) ;) (labeled_statement "LAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }" statement_identifier : (switch_statement "switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }" switch (parenthesized_expression "(*(undefined4 *)((long)puVar3 + 0x24))" ( (pointer_expression "*(undefined4 *)((long)puVar3 + 0x24)" * (cast_expression "(undefined4 *)((long)puVar3 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar3 + 0x24)" ( (binary_expression "(long)puVar3 + 0x24" (cast_expression "(long)puVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )) (compound_statement "{\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }" { (case_statement "case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;" case number_literal : (expression_statement "pcVar2 = (char *)*puVar3;" (assignment_expression "pcVar2 = (char *)*puVar3" identifier = (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "puVar3 = puVar3 + 5;" (assignment_expression "puVar3 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "fputs(pcVar2,param_2);" (call_expression "fputs(pcVar2,param_2)" identifier (argument_list "(pcVar2,param_2)" ( identifier , identifier ))) ;) (if_statement "if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;" if (parenthesized_expression "(puVar3 == *(undefined8 **)(param_1 + 0x50))" ( (binary_expression "puVar3 == *(undefined8 **)(param_1 + 0x50)" identifier == (pointer_expression "*(undefined8 **)(param_1 + 0x50)" * (cast_expression "(undefined8 **)(param_1 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00428320;" goto statement_identifier ;)) (goto_statement "goto LAB_0042822d;" goto statement_identifier ;)) (case_statement "case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;" case number_literal : (expression_statement "fwrite("SORT_BY_NAME(",1,0xd,param_2);" (call_expression "fwrite("SORT_BY_NAME(",1,0xd,param_2)" identifier (argument_list "("SORT_BY_NAME(",1,0xd,param_2)" ( (string_literal ""SORT_BY_NAME("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;" case number_literal : (expression_statement "fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);" (call_expression "fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2)" identifier (argument_list "("SORT_BY_ALIGNMENT(",1,0x12,param_2)" ( (string_literal ""SORT_BY_ALIGNMENT("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;" case number_literal : (expression_statement "fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);" (call_expression "fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2)" identifier (argument_list "("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2)" ( (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (goto_statement "goto LAB_00428204;" goto statement_identifier ;)) (case_statement "case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;" case number_literal : (expression_statement "fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);" (call_expression "fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2)" identifier (argument_list "("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2)" ( (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (labeled_statement "LAB_00428204:\n          fputc(0x29,param_2);" statement_identifier : (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;)) (break_statement "break;" break ;)) (case_statement "case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;" case number_literal : (expression_statement "fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);" (call_expression "fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2)" identifier (argument_list "("SORT_BY_INIT_PRIORITY(",1,0x16,param_2)" ( (string_literal ""SORT_BY_INIT_PRIORITY("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");" default : comment (expression_statement "FUN_00352af0("../../gold/script-sections.cc",0x780,"print");" (call_expression "FUN_00352af0("../../gold/script-sections.cc",0x780,"print")" identifier (argument_list "("../../gold/script-sections.cc",0x780,"print")" ( (string_literal ""../../gold/script-sections.cc"" " string_content ") , number_literal , (string_literal ""print"" " string_content ") ))) ;)) }))) (expression_statement "puVar3 = puVar3 + 5;" (assignment_expression "puVar3 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x50))" ( (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x50)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x50)" * (cast_expression "(undefined8 **)(param_1 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) ;)) })) }))) (labeled_statement "LAB_00428320:\n  fputc(0x29,param_2);" statement_identifier : (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;)) (expression_statement "cVar1 = *(char *)(param_1 + 0x60);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x60)" identifier = (pointer_expression "*(char *)(param_1 + 0x60)" * (cast_expression "(char *)(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }" statement_identifier : (if_statement "if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    fputc(0x29,param_2);\n  }" { (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) }))) (expression_statement "fputc(10,param_2);" (call_expression "fputc(10,param_2)" identifier (argument_list "(10,param_2)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void print(Output_section_element_input * this, FILE * f) */\n\nvoid __thiscall\ngold::Output_section_element_input::print(Output_section_element_input *this,FILE *f)\n\n{\n  char cVar1;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *pbVar2;\n  string *psVar3;\n  pointer ppVar4;\n  pointer pIVar5;\n  \n  fwrite(&DAT_0058013c,1,4,(FILE *)f);\n  if (this->keep_ != false) {\n    fwrite("KEEP(",1,5,(FILE *)f);\n  }\n  if ((this->filename_pattern_)._M_string_length == 0) {\nLAB_00428126:\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) {\nLAB_00428369:\n      if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (this->filename_sort_ != SORT_WILDCARD_NONE) {\n      if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n      fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n      fputc(0x29,(FILE *)f);\n      goto LAB_00428126;\n    }\n    fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) goto LAB_00428369;\n  }\n  fputc(0x28,(FILE *)f);\n  if ((this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_start ==\n      (this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_finish) {\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n             ._M_impl._M_start;\n    if (ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n                  ._M_impl._M_finish) {\n      while( true ) {\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }\n    }\n    fputc(0x29,(FILE *)f);\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) {\nLAB_0042822d:\n      do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);\n    }\n  }\nLAB_00428320:\n  fputc(0x29,(FILE *)f);\n  cVar1 = this->keep_;\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,(FILE *)f);\n  }\n  fputc(10,(FILE *)f);\n  return;\n}\n\n" comment (function_definition "void __thiscall\ngold::Output_section_element_input::print(Output_section_element_input *this,FILE *f)\n\n{\n  char cVar1;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *pbVar2;\n  string *psVar3;\n  pointer ppVar4;\n  pointer pIVar5;\n  \n  fwrite(&DAT_0058013c,1,4,(FILE *)f);\n  if (this->keep_ != false) {\n    fwrite("KEEP(",1,5,(FILE *)f);\n  }\n  if ((this->filename_pattern_)._M_string_length == 0) {\nLAB_00428126:\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) {\nLAB_00428369:\n      if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (this->filename_sort_ != SORT_WILDCARD_NONE) {\n      if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n      fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n      fputc(0x29,(FILE *)f);\n      goto LAB_00428126;\n    }\n    fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) goto LAB_00428369;\n  }\n  fputc(0x28,(FILE *)f);\n  if ((this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_start ==\n      (this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_finish) {\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n             ._M_impl._M_start;\n    if (ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n                  ._M_impl._M_finish) {\n      while( true ) {\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }\n    }\n    fputc(0x29,(FILE *)f);\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) {\nLAB_0042822d:\n      do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);\n    }\n  }\nLAB_00428320:\n  fputc(0x29,(FILE *)f);\n  cVar1 = this->keep_;\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,(FILE *)f);\n  }\n  fputc(10,(FILE *)f);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_section_element_input::" identifier : : identifier : :) (function_declarator "print(Output_section_element_input *this,FILE *f)" identifier (parameter_list "(Output_section_element_input *this,FILE *f)" ( (parameter_declaration "Output_section_element_input *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "FILE *f" type_identifier (pointer_declarator "*f" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *pbVar2;\n  string *psVar3;\n  pointer ppVar4;\n  pointer pIVar5;\n  \n  fwrite(&DAT_0058013c,1,4,(FILE *)f);\n  if (this->keep_ != false) {\n    fwrite("KEEP(",1,5,(FILE *)f);\n  }\n  if ((this->filename_pattern_)._M_string_length == 0) {\nLAB_00428126:\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) {\nLAB_00428369:\n      if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (this->filename_sort_ != SORT_WILDCARD_NONE) {\n      if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n      fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n      fputc(0x29,(FILE *)f);\n      goto LAB_00428126;\n    }\n    fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) goto LAB_00428369;\n  }\n  fputc(0x28,(FILE *)f);\n  if ((this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_start ==\n      (this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_finish) {\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n             ._M_impl._M_start;\n    if (ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n                  ._M_impl._M_finish) {\n      while( true ) {\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }\n    }\n    fputc(0x29,(FILE *)f);\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) {\nLAB_0042822d:\n      do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);\n    }\n  }\nLAB_00428320:\n  fputc(0x29,(FILE *)f);\n  cVar1 = this->keep_;\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,(FILE *)f);\n  }\n  fputc(10,(FILE *)f);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_> *pbVar2;" (binary_expression "allocator<char>_> *pbVar2" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*pbVar2" * identifier)) ;) (declaration "string *psVar3;" type_identifier (pointer_declarator "*psVar3" * identifier) ;) (declaration "pointer ppVar4;" type_identifier identifier ;) (declaration "pointer pIVar5;" type_identifier identifier ;) (expression_statement "fwrite(&DAT_0058013c,1,4,(FILE *)f);" (call_expression "fwrite(&DAT_0058013c,1,4,(FILE *)f)" identifier (argument_list "(&DAT_0058013c,1,4,(FILE *)f)" ( (pointer_expression "&DAT_0058013c" & identifier) , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (this->keep_ != false) {\n    fwrite("KEEP(",1,5,(FILE *)f);\n  }" if (parenthesized_expression "(this->keep_ != false)" ( (binary_expression "this->keep_ != false" (field_expression "this->keep_" identifier -> field_identifier) != false) )) (compound_statement "{\n    fwrite("KEEP(",1,5,(FILE *)f);\n  }" { (expression_statement "fwrite("KEEP(",1,5,(FILE *)f);" (call_expression "fwrite("KEEP(",1,5,(FILE *)f)" identifier (argument_list "("KEEP(",1,5,(FILE *)f)" ( (string_literal ""KEEP("" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (if_statement "if ((this->filename_pattern_)._M_string_length == 0) {\nLAB_00428126:\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) {\nLAB_00428369:\n      if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (this->filename_sort_ != SORT_WILDCARD_NONE) {\n      if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n      fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n      fputc(0x29,(FILE *)f);\n      goto LAB_00428126;\n    }\n    fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) goto LAB_00428369;\n  }" if (parenthesized_expression "((this->filename_pattern_)._M_string_length == 0)" ( (binary_expression "(this->filename_pattern_)._M_string_length == 0" (field_expression "(this->filename_pattern_)._M_string_length" (parenthesized_expression "(this->filename_pattern_)" ( (field_expression "this->filename_pattern_" identifier -> field_identifier) )) . field_identifier) == number_literal) )) (compound_statement "{\nLAB_00428126:\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) {\nLAB_00428369:\n      if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }\n    }\n  }" { (labeled_statement "LAB_00428126:\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) {\nLAB_00428369:\n      if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }\n    }" statement_identifier : (if_statement "if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) {\nLAB_00428369:\n      if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }\n    }" if (parenthesized_expression "((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish)" ( (ERROR "(this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::" (comma_expression "(this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std" (binary_expression "(this->input_section_patterns_).\n        super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n        super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section_element_input::Input_section_pattern" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : : (binary_expression "Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold" (field_expression "Input_section_pattern>_>\n        ._M_impl._M_start" (field_expression "Input_section_pattern>_>\n        ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "(this->input_section_patterns_).\n        super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n        super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier)) : : identifier : : (comma_expression "Input_section_pattern,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Input_section_pattern>_>\n        ._M_impl._M_finish" (field_expression "Input_section_pattern>_>\n        ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\nLAB_00428369:\n      if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }\n    }" { (labeled_statement "LAB_00428369:\n      if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }" statement_identifier : (if_statement "if ((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish) {\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }" if (parenthesized_expression "((this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish)" ( (ERROR "(this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "(this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std" (binary_expression "(this->filename_exclusions_).\n          super__Vector_base<std::pair<std::__cxx11::basic_string<char" (binary_expression "(this->filename_exclusions_).\n          super__Vector_base<std::pair<std" (binary_expression "(this->filename_exclusions_).\n          super__Vector_base<std" (field_expression "(this->filename_exclusions_).\n          super__Vector_base" (parenthesized_expression "(this->filename_exclusions_)" ( (field_expression "this->filename_exclusions_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>,_std" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start ==\n          (this->filename_exclusions_).\n          super__Vector_base<std" (field_expression "allocator<char>_>,_bool>_>_>\n          ._M_impl._M_start" (field_expression "allocator<char>_>,_bool>_>_>\n          ._M_impl" (binary_expression "allocator<char>_>,_bool>_>_" (binary_expression "allocator<char>_>,_bool>_" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "(this->filename_exclusions_).\n          super__Vector_base<std" (field_expression "(this->filename_exclusions_).\n          super__Vector_base" (parenthesized_expression "(this->filename_exclusions_)" ( (field_expression "this->filename_exclusions_" identifier -> field_identifier) )) . field_identifier) < identifier)) : : (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>,_std" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>,_bool>_>_>\n          ._M_impl._M_finish" (field_expression "allocator<char>_>,_bool>_>_>\n          ._M_impl" (binary_expression "allocator<char>_>,_bool>_>_" (binary_expression "allocator<char>_>,_bool>_" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        cVar1 = this->keep_;\n        goto joined_r0x0042837f;\n      }" { (expression_statement "cVar1 = this->keep_;" (assignment_expression "cVar1 = this->keep_" identifier = (field_expression "this->keep_" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x0042837f;" goto statement_identifier ;) }))) }))) }) (else_clause "else {\n    if (this->filename_sort_ != SORT_WILDCARD_NONE) {\n      if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n      fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n      fputc(0x29,(FILE *)f);\n      goto LAB_00428126;\n    }\n    fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) goto LAB_00428369;\n  }" else (compound_statement "{\n    if (this->filename_sort_ != SORT_WILDCARD_NONE) {\n      if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n      fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n      fputc(0x29,(FILE *)f);\n      goto LAB_00428126;\n    }\n    fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n    if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) goto LAB_00428369;\n  }" { (if_statement "if (this->filename_sort_ != SORT_WILDCARD_NONE) {\n      if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n      fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n      fputc(0x29,(FILE *)f);\n      goto LAB_00428126;\n    }" if (parenthesized_expression "(this->filename_sort_ != SORT_WILDCARD_NONE)" ( (binary_expression "this->filename_sort_ != SORT_WILDCARD_NONE" (field_expression "this->filename_sort_" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n      fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);\n      fputc(0x29,(FILE *)f);\n      goto LAB_00428126;\n    }" { (if_statement "if (this->filename_sort_ != SORT_WILDCARD_BY_NAME) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }" if (parenthesized_expression "(this->filename_sort_ != SORT_WILDCARD_BY_NAME)" ( (binary_expression "this->filename_sort_ != SORT_WILDCARD_BY_NAME" (field_expression "this->filename_sort_" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print");" (call_expression "do_gold_unreachable("../../gold/script-sections.cc",0x73d,"print")" identifier (argument_list "("../../gold/script-sections.cc",0x73d,"print")" ( (string_literal ""../../gold/script-sections.cc"" " string_content ") , number_literal , (string_literal ""print"" " string_content ") ))) ;) })) (expression_statement "fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);" (call_expression "fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f)" identifier (argument_list "("SORT_BY_NAME(",1,0xd,(FILE *)f)" ( (string_literal ""SORT_BY_NAME("" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(this->filename_pattern_)._M_dataplus._M_p" (field_expression "(this->filename_pattern_)._M_dataplus" (parenthesized_expression "(this->filename_pattern_)" ( (field_expression "this->filename_pattern_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fputc(0x29,(FILE *)f);" (call_expression "fputc(0x29,(FILE *)f)" identifier (argument_list "(0x29,(FILE *)f)" ( number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (goto_statement "goto LAB_00428126;" goto statement_identifier ;) })) (expression_statement "fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((this->filename_pattern_)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(this->filename_pattern_)._M_dataplus._M_p" (field_expression "(this->filename_pattern_)._M_dataplus" (parenthesized_expression "(this->filename_pattern_)" ( (field_expression "this->filename_pattern_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if ((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish) goto LAB_00428369;" if (parenthesized_expression "((this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_finish)" ( (ERROR "(this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::" (comma_expression "(this->input_section_patterns_).\n        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std" (binary_expression "(this->input_section_patterns_).\n        super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n        super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section_element_input::Input_section_pattern" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : : (binary_expression "Input_section_pattern>_>\n        ._M_impl._M_start ==\n        (this->input_section_patterns_).\n        super__Vector_base<gold" (field_expression "Input_section_pattern>_>\n        ._M_impl._M_start" (field_expression "Input_section_pattern>_>\n        ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "(this->input_section_patterns_).\n        super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n        super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier)) : : identifier : : (comma_expression "Input_section_pattern,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Input_section_pattern>_>\n        ._M_impl._M_finish" (field_expression "Input_section_pattern>_>\n        ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (goto_statement "goto LAB_00428369;" goto statement_identifier ;)) }))) (expression_statement "fputc(0x28,(FILE *)f);" (call_expression "fputc(0x28,(FILE *)f)" identifier (argument_list "(0x28,(FILE *)f)" ( number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if ((this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_start ==\n      (this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_finish) {\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n             ._M_impl._M_start;\n    if (ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n                  ._M_impl._M_finish) {\n      while( true ) {\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }\n    }\n    fputc(0x29,(FILE *)f);\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) {\nLAB_0042822d:\n      do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);\n    }\n  }" if (parenthesized_expression "((this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_start ==\n      (this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_finish)" ( (ERROR "(this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n      ._M_impl._M_start ==\n      (this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "(this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std" (binary_expression "(this->filename_exclusions_).\n      super__Vector_base<std::pair<std::__cxx11::basic_string<char" (binary_expression "(this->filename_exclusions_).\n      super__Vector_base<std::pair<std" (binary_expression "(this->filename_exclusions_).\n      super__Vector_base<std" (field_expression "(this->filename_exclusions_).\n      super__Vector_base" (parenthesized_expression "(this->filename_exclusions_)" ( (field_expression "this->filename_exclusions_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>,_std" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>_>_>\n      ._M_impl._M_start ==\n      (this->filename_exclusions_).\n      super__Vector_base<std" (field_expression "allocator<char>_>,_bool>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>,_bool>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>,_bool>_>_" (binary_expression "allocator<char>_>,_bool>_" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "(this->filename_exclusions_).\n      super__Vector_base<std" (field_expression "(this->filename_exclusions_).\n      super__Vector_base" (parenthesized_expression "(this->filename_exclusions_)" ( (field_expression "this->filename_exclusions_" identifier -> field_identifier) )) . field_identifier) < identifier)) : : (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>,_std" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>,_bool>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>,_bool>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>,_bool>_>_" (binary_expression "allocator<char>_>,_bool>_" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) goto LAB_004281c0;\n  }" { (ERROR "pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::" (assignment_expression "pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold" identifier = (binary_expression "(this->input_section_patterns_).\n             super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n             super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;" statement_identifier (ERROR "::Input_section_pattern,_std::allocator<gold:" : : (comma_expression "Input_section_pattern,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;" statement_identifier : (ERROR ":" :) (expression_statement "Input_section_pattern>_>\n             ._M_impl._M_start;" (field_expression "Input_section_pattern>_>\n             ._M_impl._M_start" (field_expression "Input_section_pattern>_>\n             ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (if_statement "if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) goto LAB_004281c0;" if (parenthesized_expression "(pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish)" ( (ERROR "pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::" (comma_expression "pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std" (binary_expression "pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold" identifier != (binary_expression "(this->input_section_patterns_).\n                  super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n                  super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section_element_input::Input_section_pattern" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Input_section_pattern>_>\n                  ._M_impl._M_finish" (field_expression "Input_section_pattern>_>\n                  ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (goto_statement "goto LAB_004281c0;" goto statement_identifier ;)) }) (else_clause "else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n             ._M_impl._M_start;\n    if (ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n                  ._M_impl._M_finish) {\n      while( true ) {\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }\n    }\n    fputc(0x29,(FILE *)f);\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) {\nLAB_0042822d:\n      do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);\n    }\n  }" else (compound_statement "{\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n             ._M_impl._M_start;\n    if (ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n                  ._M_impl._M_finish) {\n      while( true ) {\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }\n    }\n    fputc(0x29,(FILE *)f);\n    pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;\n    if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) {\nLAB_0042822d:\n      do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);\n    }\n  }" { (expression_statement "fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);" (call_expression "fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f)" identifier (argument_list "("EXCLUDE_FILE(",1,0xd,(FILE *)f)" ( (string_literal ""EXCLUDE_FILE("" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (ERROR "ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std" (binary_expression "ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char" (binary_expression "ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std" (assignment_expression "ppVar4 = (this->filename_exclusions_).\n             super__Vector_base<std" identifier = (binary_expression "(this->filename_exclusions_).\n             super__Vector_base<std" (field_expression "(this->filename_exclusions_).\n             super__Vector_base" (parenthesized_expression "(this->filename_exclusions_)" ( (field_expression "this->filename_exclusions_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>,_std" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>,_bool>_>_>\n             ._M_impl._M_start;" (field_expression "allocator<char>_>,_bool>_>_>\n             ._M_impl._M_start" (field_expression "allocator<char>_>,_bool>_>_>\n             ._M_impl" (binary_expression "allocator<char>_>,_bool>_>_" (binary_expression "allocator<char>_>,_bool>_" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n                  ._M_impl._M_finish) {\n      while( true ) {\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }\n    }" if (parenthesized_expression "(ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n                  ._M_impl._M_finish)" ( (ERROR "ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std" (binary_expression "ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char" (binary_expression "ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std" (binary_expression "ppVar4 != (this->filename_exclusions_).\n                  super__Vector_base<std" identifier != (binary_expression "(this->filename_exclusions_).\n                  super__Vector_base<std" (field_expression "(this->filename_exclusions_).\n                  super__Vector_base" (parenthesized_expression "(this->filename_exclusions_)" ( (field_expression "this->filename_exclusions_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>,_std" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>,_bool>_>_>\n                  ._M_impl._M_finish" (field_expression "allocator<char>_>,_bool>_>_>\n                  ._M_impl" (binary_expression "allocator<char>_>,_bool>_>_" (binary_expression "allocator<char>_>,_bool>_" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      while( true ) {\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }\n    }" { (while_statement "while( true ) {\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pbVar2 = &ppVar4->first;\n        ppVar4 = ppVar4 + 1;\n        fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);\n        if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;\n        fwrite(", ",1,2,(FILE *)f);\n      }" { (expression_statement "pbVar2 = &ppVar4->first;" (assignment_expression "pbVar2 = &ppVar4->first" identifier = (pointer_expression "&ppVar4->first" & (field_expression "ppVar4->first" identifier -> field_identifier))) ;) (expression_statement "ppVar4 = ppVar4 + 1;" (assignment_expression "ppVar4 = ppVar4 + 1" identifier = (binary_expression "ppVar4 + 1" identifier + number_literal)) ;) (expression_statement "fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f);" (call_expression "fputs((pbVar2->_M_dataplus)._M_p,(FILE *)f)" identifier (argument_list "((pbVar2->_M_dataplus)._M_p,(FILE *)f)" ( (field_expression "(pbVar2->_M_dataplus)._M_p" (parenthesized_expression "(pbVar2->_M_dataplus)" ( (field_expression "pbVar2->_M_dataplus" identifier -> field_identifier) )) . field_identifier) , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if ((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4) break;" if (parenthesized_expression "((this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4)" ( (ERROR "(this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "(this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std" (binary_expression "(this->filename_exclusions_).\n            super__Vector_base<std::pair<std::__cxx11::basic_string<char" (binary_expression "(this->filename_exclusions_).\n            super__Vector_base<std::pair<std" (binary_expression "(this->filename_exclusions_).\n            super__Vector_base<std" (field_expression "(this->filename_exclusions_).\n            super__Vector_base" (parenthesized_expression "(this->filename_exclusions_)" ( (field_expression "this->filename_exclusions_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>,_std" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish == ppVar4" (field_expression "allocator<char>_>,_bool>_>_>\n            ._M_impl._M_finish" (field_expression "allocator<char>_>,_bool>_>_>\n            ._M_impl" (binary_expression "allocator<char>_>,_bool>_>_" (binary_expression "allocator<char>_>,_bool>_" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) (break_statement "break;" break ;)) (expression_statement "fwrite(", ",1,2,(FILE *)f);" (call_expression "fwrite(", ",1,2,(FILE *)f)" identifier (argument_list "(", ",1,2,(FILE *)f)" ( (string_literal "", "" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) })) (expression_statement "fputc(0x29,(FILE *)f);" (call_expression "fputc(0x29,(FILE *)f)" identifier (argument_list "(0x29,(FILE *)f)" ( number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (ERROR "pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold::" (assignment_expression "pIVar5 = (this->input_section_patterns_).\n             super__Vector_base<gold" identifier = (binary_expression "(this->input_section_patterns_).\n             super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n             super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;" statement_identifier (ERROR "::Input_section_pattern,_std::allocator<gold:" : : (comma_expression "Input_section_pattern,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section_element_input::Input_section_pattern>_>\n             ._M_impl._M_start;" statement_identifier : (ERROR ":" :) (expression_statement "Input_section_pattern>_>\n             ._M_impl._M_start;" (field_expression "Input_section_pattern>_>\n             ._M_impl._M_start" (field_expression "Input_section_pattern>_>\n             ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (if_statement "if (pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish) {\nLAB_0042822d:\n      do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);\n    }" if (parenthesized_expression "(pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                  ._M_impl._M_finish)" ( (ERROR "pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::" (comma_expression "pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std" (binary_expression "pIVar5 != (this->input_section_patterns_).\n                  super__Vector_base<gold" identifier != (binary_expression "(this->input_section_patterns_).\n                  super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n                  super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section_element_input::Input_section_pattern" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Input_section_pattern>_>\n                  ._M_impl._M_finish" (field_expression "Input_section_pattern>_>\n                  ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\nLAB_0042822d:\n      do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);\n    }" { (labeled_statement "LAB_0042822d:\n      do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);" statement_identifier : (do_statement "do {\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      } while (pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish);" do (compound_statement "{\n        fputc(0x20,(FILE *)f);\nLAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar5 + 1;\n        fputc(0x29,(FILE *)f);\n      }" { (expression_statement "fputc(0x20,(FILE *)f);" (call_expression "fputc(0x20,(FILE *)f)" identifier (argument_list "(0x20,(FILE *)f)" ( number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (labeled_statement "LAB_004281c0:\n        switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }" statement_identifier : (switch_statement "switch(pIVar5->sort) {\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }" switch (parenthesized_expression "(pIVar5->sort)" ( (field_expression "pIVar5->sort" identifier -> field_identifier) )) (compound_statement "{\n        case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;\n        case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }" { (case_statement "case SORT_WILDCARD_NONE:\n          psVar3 = &pIVar5->pattern;\n          pIVar5 = pIVar5 + 1;\n          fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);\n          if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;\n          goto LAB_0042822d;" case identifier : (expression_statement "psVar3 = &pIVar5->pattern;" (assignment_expression "psVar3 = &pIVar5->pattern" identifier = (pointer_expression "&pIVar5->pattern" & (field_expression "pIVar5->pattern" identifier -> field_identifier))) ;) (expression_statement "pIVar5 = pIVar5 + 1;" (assignment_expression "pIVar5 = pIVar5 + 1" identifier = (binary_expression "pIVar5 + 1" identifier + number_literal)) ;) (expression_statement "fputs((psVar3->_M_dataplus)._M_p,(FILE *)f);" (call_expression "fputs((psVar3->_M_dataplus)._M_p,(FILE *)f)" identifier (argument_list "((psVar3->_M_dataplus)._M_p,(FILE *)f)" ( (field_expression "(psVar3->_M_dataplus)._M_p" (parenthesized_expression "(psVar3->_M_dataplus)" ( (field_expression "psVar3->_M_dataplus" identifier -> field_identifier) )) . field_identifier) , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish) goto LAB_00428320;" if (parenthesized_expression "(pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                        ._M_impl._M_finish)" ( (ERROR "pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::" (comma_expression "pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std" (binary_expression "pIVar5 == (this->input_section_patterns_).\n                        super__Vector_base<gold" identifier == (binary_expression "(this->input_section_patterns_).\n                        super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n                        super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section_element_input::Input_section_pattern" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Input_section_pattern>_>\n                        ._M_impl._M_finish" (field_expression "Input_section_pattern>_>\n                        ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (goto_statement "goto LAB_00428320;" goto statement_identifier ;)) (goto_statement "goto LAB_0042822d;" goto statement_identifier ;)) (case_statement "case SORT_WILDCARD_BY_NAME:\n          fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;" case identifier : (expression_statement "fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f);" (call_expression "fwrite("SORT_BY_NAME(",1,0xd,(FILE *)f)" identifier (argument_list "("SORT_BY_NAME(",1,0xd,(FILE *)f)" ( (string_literal ""SORT_BY_NAME("" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(pIVar5->pattern)._M_dataplus._M_p" (field_expression "(pIVar5->pattern)._M_dataplus" (parenthesized_expression "(pIVar5->pattern)" ( (field_expression "pIVar5->pattern" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (break_statement "break;" break ;)) (case_statement "case SORT_WILDCARD_BY_ALIGNMENT:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;" case identifier : (expression_statement "fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f);" (call_expression "fwrite("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f)" identifier (argument_list "("SORT_BY_ALIGNMENT(",1,0x12,(FILE *)f)" ( (string_literal ""SORT_BY_ALIGNMENT("" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(pIVar5->pattern)._M_dataplus._M_p" (field_expression "(pIVar5->pattern)._M_dataplus" (parenthesized_expression "(pIVar5->pattern)" ( (field_expression "pIVar5->pattern" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (break_statement "break;" break ;)) (case_statement "case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00428204;" case identifier : (expression_statement "fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f);" (call_expression "fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f)" identifier (argument_list "("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(FILE *)f)" ( (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(pIVar5->pattern)._M_dataplus._M_p" (field_expression "(pIVar5->pattern)._M_dataplus" (parenthesized_expression "(pIVar5->pattern)" ( (field_expression "pIVar5->pattern" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (goto_statement "goto LAB_00428204;" goto statement_identifier ;)) (case_statement "case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\nLAB_00428204:\n          fputc(0x29,(FILE *)f);\n          break;" case identifier : (expression_statement "fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f);" (call_expression "fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f)" identifier (argument_list "("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(FILE *)f)" ( (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(pIVar5->pattern)._M_dataplus._M_p" (field_expression "(pIVar5->pattern)._M_dataplus" (parenthesized_expression "(pIVar5->pattern)" ( (field_expression "pIVar5->pattern" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (labeled_statement "LAB_00428204:\n          fputc(0x29,(FILE *)f);" statement_identifier : (expression_statement "fputc(0x29,(FILE *)f);" (call_expression "fputc(0x29,(FILE *)f)" identifier (argument_list "(0x29,(FILE *)f)" ( number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (break_statement "break;" break ;)) (case_statement "case SORT_WILDCARD_BY_INIT_PRIORITY:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);\n          fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);\n          break;" case identifier : (expression_statement "fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f);" (call_expression "fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f)" identifier (argument_list "("SORT_BY_INIT_PRIORITY(",1,0x16,(FILE *)f)" ( (string_literal ""SORT_BY_INIT_PRIORITY("" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((pIVar5->pattern)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(pIVar5->pattern)._M_dataplus._M_p" (field_expression "(pIVar5->pattern)._M_dataplus" (parenthesized_expression "(pIVar5->pattern)" ( (field_expression "pIVar5->pattern" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");" default : comment (expression_statement "do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");" (call_expression "do_gold_unreachable("../../gold/script-sections.cc",0x780,"print")" identifier (argument_list "("../../gold/script-sections.cc",0x780,"print")" ( (string_literal ""../../gold/script-sections.cc"" " string_content ") , number_literal , (string_literal ""print"" " string_content ") ))) ;)) }))) (expression_statement "pIVar5 = pIVar5 + 1;" (assignment_expression "pIVar5 = pIVar5 + 1" identifier = (binary_expression "pIVar5 + 1" identifier + number_literal)) ;) (expression_statement "fputc(0x29,(FILE *)f);" (call_expression "fputc(0x29,(FILE *)f)" identifier (argument_list "(0x29,(FILE *)f)" ( number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }) while (parenthesized_expression "(pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::Input_section_pattern>_>\n                         ._M_impl._M_finish)" ( (ERROR "pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std::allocator<gold::Output_section_element_input::" (comma_expression "pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold::Output_section_element_input::Input_section_pattern,_std" (binary_expression "pIVar5 != (this->input_section_patterns_).\n                         super__Vector_base<gold" identifier != (binary_expression "(this->input_section_patterns_).\n                         super__Vector_base<gold" (field_expression "(this->input_section_patterns_).\n                         super__Vector_base" (parenthesized_expression "(this->input_section_patterns_)" ( (field_expression "this->input_section_patterns_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section_element_input::Input_section_pattern" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Input_section_pattern>_>\n                         ._M_impl._M_finish" (field_expression "Input_section_pattern>_>\n                         ._M_impl" (binary_expression "Input_section_pattern>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) ;)) })) }))) (labeled_statement "LAB_00428320:\n  fputc(0x29,(FILE *)f);" statement_identifier : (expression_statement "fputc(0x29,(FILE *)f);" (call_expression "fputc(0x29,(FILE *)f)" identifier (argument_list "(0x29,(FILE *)f)" ( number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "cVar1 = this->keep_;" (assignment_expression "cVar1 = this->keep_" identifier = (field_expression "this->keep_" identifier -> field_identifier)) ;) (labeled_statement "joined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,(FILE *)f);\n  }" statement_identifier : (if_statement "if (cVar1 != '\0') {\n    fputc(0x29,(FILE *)f);\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    fputc(0x29,(FILE *)f);\n  }" { (expression_statement "fputc(0x29,(FILE *)f);" (call_expression "fputc(0x29,(FILE *)f)" identifier (argument_list "(0x29,(FILE *)f)" ( number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }))) (expression_statement "fputc(10,(FILE *)f);" (call_expression "fputc(10,(FILE *)f)" identifier (argument_list "(10,(FILE *)f)" ( number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_004280a0(long param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined8 *puVar3;\n  \n  fwrite(&DAT_0058013c,1,4,param_2);\n  if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }\n  fputc(0x28,param_2);\n  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }\nLAB_00428320:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x60);\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}\n\n" (function_definition "void FUN_004280a0(long param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined8 *puVar3;\n  \n  fwrite(&DAT_0058013c,1,4,param_2);\n  if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }\n  fputc(0x28,param_2);\n  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }\nLAB_00428320:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x60);\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_004280a0(long param_1,FILE *param_2)" identifier (parameter_list "(long param_1,FILE *param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "FILE *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  char *pcVar2;\n  undefined8 *puVar3;\n  \n  fwrite(&DAT_0058013c,1,4,param_2);\n  if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }\n  fputc(0x28,param_2);\n  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }\nLAB_00428320:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x60);\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (expression_statement "fwrite(&DAT_0058013c,1,4,param_2);" (call_expression "fwrite(&DAT_0058013c,1,4,param_2)" identifier (argument_list "(&DAT_0058013c,1,4,param_2)" ( (pointer_expression "&DAT_0058013c" & identifier) , number_literal , number_literal , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x60) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x60) != '\0'" (pointer_expression "*(char *)(param_1 + 0x60)" * (cast_expression "(char *)(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    fwrite("KEEP(",1,5,param_2);\n  }" { (expression_statement "fwrite("KEEP(",1,5,param_2);" (call_expression "fwrite("KEEP(",1,5,param_2)" identifier (argument_list "("KEEP(",1,5,param_2)" ( (string_literal ""KEEP("" " string_content ") , number_literal , number_literal , identifier ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x10) == 0)" ( (binary_expression "*(long *)(param_1 + 0x10) == 0" (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }" { (labeled_statement "LAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }" statement_identifier : (if_statement "if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50))" ( (binary_expression "*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)" (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) == (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }" { (labeled_statement "LAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }" statement_identifier : (if_statement "if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }" if (parenthesized_expression "(*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38))" ( (binary_expression "*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)" (pointer_expression "*(long *)(param_1 + 0x30)" * (cast_expression "(long *)(param_1 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }" { (expression_statement "cVar1 = *(char *)(param_1 + 0x60);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x60)" identifier = (pointer_expression "*(char *)(param_1 + 0x60)" * (cast_expression "(char *)(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x0042837f;" goto statement_identifier ;) }))) }))) }) (else_clause "else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }" else (compound_statement "{\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }" { (if_statement "if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }" { (if_statement "if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 1)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 1" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }" { (expression_statement "FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");" (call_expression "FUN_00352af0("../../gold/script-sections.cc",0x73d,"print")" identifier (argument_list "("../../gold/script-sections.cc",0x73d,"print")" ( (string_literal ""../../gold/script-sections.cc"" " string_content ") , number_literal , (string_literal ""print"" " string_content ") ))) ;) })) (expression_statement "fwrite("SORT_BY_NAME(",1,0xd,param_2);" (call_expression "fwrite("SORT_BY_NAME(",1,0xd,param_2)" identifier (argument_list "("SORT_BY_NAME(",1,0xd,param_2)" ( (string_literal ""SORT_BY_NAME("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs(*(char **)(param_1 + 8),param_2);" (call_expression "fputs(*(char **)(param_1 + 8),param_2)" identifier (argument_list "(*(char **)(param_1 + 8),param_2)" ( (pointer_expression "*(char **)(param_1 + 8)" * (cast_expression "(char **)(param_1 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (goto_statement "goto LAB_00428126;" goto statement_identifier ;) })) (expression_statement "fputs(*(char **)(param_1 + 8),param_2);" (call_expression "fputs(*(char **)(param_1 + 8),param_2)" identifier (argument_list "(*(char **)(param_1 + 8),param_2)" ( (pointer_expression "*(char **)(param_1 + 8)" * (cast_expression "(char **)(param_1 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , identifier ))) ;) (if_statement "if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;" if (parenthesized_expression "(*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50))" ( (binary_expression "*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)" (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) == (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00428369;" goto statement_identifier ;)) }))) (expression_statement "fputc(0x28,param_2);" (call_expression "fputc(0x28,param_2)" identifier (argument_list "(0x28,param_2)" ( number_literal , identifier ))) ;) (if_statement "if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38))" ( (binary_expression "*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)" (pointer_expression "*(long *)(param_1 + 0x30)" * (cast_expression "(long *)(param_1 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }" { (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x48);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x48)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x48)" * (cast_expression "(undefined8 **)(param_1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;" if (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x50))" ( (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x50)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x50)" * (cast_expression "(undefined8 **)(param_1 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (goto_statement "goto LAB_004281c0;" goto statement_identifier ;)) }) (else_clause "else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }" else (compound_statement "{\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }" { (expression_statement "fwrite("EXCLUDE_FILE(",1,0xd,param_2);" (call_expression "fwrite("EXCLUDE_FILE(",1,0xd,param_2)" identifier (argument_list "("EXCLUDE_FILE(",1,0xd,param_2)" ( (string_literal ""EXCLUDE_FILE("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x30);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x30)" * (cast_expression "(undefined8 **)(param_1 + 0x30)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }" if (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x38))" ( (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x38)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x38)" * (cast_expression "(undefined8 **)(param_1 + 0x38)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }" { (while_statement "while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }" { (expression_statement "pcVar2 = (char *)*puVar3;" (assignment_expression "pcVar2 = (char *)*puVar3" identifier = (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "puVar3 = puVar3 + 5;" (assignment_expression "puVar3 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "fputs(pcVar2,param_2);" (call_expression "fputs(pcVar2,param_2)" identifier (argument_list "(pcVar2,param_2)" ( identifier , identifier ))) ;) (if_statement "if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;" if (parenthesized_expression "(*(undefined8 **)(param_1 + 0x38) == puVar3)" ( (binary_expression "*(undefined8 **)(param_1 + 0x38) == puVar3" (pointer_expression "*(undefined8 **)(param_1 + 0x38)" * (cast_expression "(undefined8 **)(param_1 + 0x38)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) == identifier) )) (break_statement "break;" break ;)) (expression_statement "fwrite(", ",1,2,param_2);" (call_expression "fwrite(", ",1,2,param_2)" identifier (argument_list "(", ",1,2,param_2)" ( (string_literal "", "" " string_content ") , number_literal , number_literal , identifier ))) ;) })) })) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x48);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x48)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x48)" * (cast_expression "(undefined8 **)(param_1 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }" if (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x50))" ( (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x50)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x50)" * (cast_expression "(undefined8 **)(param_1 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }" { (labeled_statement "LAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));" statement_identifier : (do_statement "do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));" do (compound_statement "{\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      }" { (expression_statement "fputc(0x20,param_2);" (call_expression "fputc(0x20,param_2)" identifier (argument_list "(0x20,param_2)" ( number_literal , identifier ))) ;) (labeled_statement "LAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }" statement_identifier : (switch_statement "switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }" switch (parenthesized_expression "(*(undefined4 *)((long)puVar3 + 0x24))" ( (pointer_expression "*(undefined4 *)((long)puVar3 + 0x24)" * (cast_expression "(undefined4 *)((long)puVar3 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar3 + 0x24)" ( (binary_expression "(long)puVar3 + 0x24" (cast_expression "(long)puVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )) (compound_statement "{\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }" { (case_statement "case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;" case number_literal : (expression_statement "pcVar2 = (char *)*puVar3;" (assignment_expression "pcVar2 = (char *)*puVar3" identifier = (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "puVar3 = puVar3 + 5;" (assignment_expression "puVar3 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "fputs(pcVar2,param_2);" (call_expression "fputs(pcVar2,param_2)" identifier (argument_list "(pcVar2,param_2)" ( identifier , identifier ))) ;) (if_statement "if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;" if (parenthesized_expression "(puVar3 == *(undefined8 **)(param_1 + 0x50))" ( (binary_expression "puVar3 == *(undefined8 **)(param_1 + 0x50)" identifier == (pointer_expression "*(undefined8 **)(param_1 + 0x50)" * (cast_expression "(undefined8 **)(param_1 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00428320;" goto statement_identifier ;)) (goto_statement "goto LAB_0042822d;" goto statement_identifier ;)) (case_statement "case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;" case number_literal : (expression_statement "fwrite("SORT_BY_NAME(",1,0xd,param_2);" (call_expression "fwrite("SORT_BY_NAME(",1,0xd,param_2)" identifier (argument_list "("SORT_BY_NAME(",1,0xd,param_2)" ( (string_literal ""SORT_BY_NAME("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;" case number_literal : (expression_statement "fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);" (call_expression "fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2)" identifier (argument_list "("SORT_BY_ALIGNMENT(",1,0x12,param_2)" ( (string_literal ""SORT_BY_ALIGNMENT("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;" case number_literal : (expression_statement "fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);" (call_expression "fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2)" identifier (argument_list "("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2)" ( (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (goto_statement "goto LAB_00428204;" goto statement_identifier ;)) (case_statement "case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;" case number_literal : (expression_statement "fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);" (call_expression "fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2)" identifier (argument_list "("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2)" ( (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (labeled_statement "LAB_00428204:\n          fputc(0x29,param_2);" statement_identifier : (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;)) (break_statement "break;" break ;)) (case_statement "case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;" case number_literal : (expression_statement "fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);" (call_expression "fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2)" identifier (argument_list "("SORT_BY_INIT_PRIORITY(",1,0x16,param_2)" ( (string_literal ""SORT_BY_INIT_PRIORITY("" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" identifier (argument_list "((char *)*puVar3,param_2)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");" default : (expression_statement "FUN_00352af0("../../gold/script-sections.cc",0x780,"print");" (call_expression "FUN_00352af0("../../gold/script-sections.cc",0x780,"print")" identifier (argument_list "("../../gold/script-sections.cc",0x780,"print")" ( (string_literal ""../../gold/script-sections.cc"" " string_content ") , number_literal , (string_literal ""print"" " string_content ") ))) ;)) }))) (expression_statement "puVar3 = puVar3 + 5;" (assignment_expression "puVar3 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x50))" ( (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x50)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x50)" * (cast_expression "(undefined8 **)(param_1 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) ;)) })) }))) (labeled_statement "LAB_00428320:\n  fputc(0x29,param_2);" statement_identifier : (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;)) (expression_statement "cVar1 = *(char *)(param_1 + 0x60);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x60)" identifier = (pointer_expression "*(char *)(param_1 + 0x60)" * (cast_expression "(char *)(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }" statement_identifier : (if_statement "if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    fputc(0x29,param_2);\n  }" { (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) }))) (expression_statement "fputc(10,param_2);" (call_expression "fputc(10,param_2)" identifier (argument_list "(10,param_2)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) }))) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (labeled_statement statement_identifier : (switch_statement switch (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT ))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;)) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT ))) ;) (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;)) })) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_004280a0(long param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined8 *puVar3;\n  \n  fwrite(&DAT_0058013c,1,4,param_2);\n  if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }\n  fputc(0x28,param_2);\n  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }\nLAB_00428320:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x60);\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_004280a0(long param_1,FILE *param_2)" (identifier "FUN_004280a0") (parameter_list "(long param_1,FILE *param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "FILE *param_2" (type_identifier "FILE") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  char cVar1;\n  char *pcVar2;\n  undefined8 *puVar3;\n  \n  fwrite(&DAT_0058013c,1,4,param_2);\n  if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }\n  fputc(0x28,param_2);\n  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }\nLAB_00428320:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x60);\njoined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "undefined8 *puVar3;" (type_identifier "undefined8") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (expression_statement "fwrite(&DAT_0058013c,1,4,param_2);" (call_expression "fwrite(&DAT_0058013c,1,4,param_2)" (identifier "fwrite") (argument_list "(&DAT_0058013c,1,4,param_2)" (( "(") (pointer_expression "&DAT_0058013c" (& "&") (identifier "DAT_0058013c")) (, ",") (number_literal "1") (, ",") (number_literal "4") (, ",") (identifier "param_2") () ")"))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x60) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x60) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x60) != '\0'" (pointer_expression "*(char *)(param_1 + 0x60)" (* "*") (cast_expression "(char *)(param_1 + 0x60)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    fwrite("KEEP(",1,5,param_2);\n  }" ({ "{") (expression_statement "fwrite("KEEP(",1,5,param_2);" (call_expression "fwrite("KEEP(",1,5,param_2)" (identifier "fwrite") (argument_list "("KEEP(",1,5,param_2)" (( "(") (string_literal ""KEEP("" (" """) (string_content "KEEP(") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "5") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x10) == 0) {\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x10) == 0" (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }\n  }" ({ "{") (labeled_statement "LAB_00428126:\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }" (statement_identifier "LAB_00428126") (: ":") (if_statement "if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50))" (( "(") (binary_expression "*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)" (pointer_expression "*(long *)(param_1 + 0x48)" (* "*") (cast_expression "(long *)(param_1 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")")))) (== "==") (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (compound_statement "{\nLAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }\n    }" ({ "{") (labeled_statement "LAB_00428369:\n      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }" (statement_identifier "LAB_00428369") (: ":") (if_statement "if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38))" (( "(") (binary_expression "*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)" (pointer_expression "*(long *)(param_1 + 0x30)" (* "*") (cast_expression "(long *)(param_1 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (== "==") (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (compound_statement "{\n        cVar1 = *(char *)(param_1 + 0x60);\n        goto joined_r0x0042837f;\n      }" ({ "{") (expression_statement "cVar1 = *(char *)(param_1 + 0x60);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x60)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(param_1 + 0x60)" (* "*") (cast_expression "(char *)(param_1 + 0x60)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x0042837f;" (goto "goto") (statement_identifier "joined_r0x0042837f") (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }" (else "else") (compound_statement "{\n    if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }\n    fputs(*(char **)(param_1 + 8),param_2);\n    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;\n  }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x2c) != 0) {\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 8),param_2);\n      fputc(0x29,param_2);\n      goto LAB_00428126;\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x2c) != 1) {\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 1)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) != 1" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");\n      }" ({ "{") (expression_statement "FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");" (call_expression "FUN_00352af0("../../gold/script-sections.cc",0x73d,"print")" (identifier "FUN_00352af0") (argument_list "("../../gold/script-sections.cc",0x73d,"print")" (( "(") (string_literal ""../../gold/script-sections.cc"" (" """) (string_content "../../gold/script-sections.cc") (" """)) (, ",") (number_literal "0x73d") (, ",") (string_literal ""print"" (" """) (string_content "print") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "fwrite("SORT_BY_NAME(",1,0xd,param_2);" (call_expression "fwrite("SORT_BY_NAME(",1,0xd,param_2)" (identifier "fwrite") (argument_list "("SORT_BY_NAME(",1,0xd,param_2)" (( "(") (string_literal ""SORT_BY_NAME("" (" """) (string_content "SORT_BY_NAME(") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0xd") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "fputs(*(char **)(param_1 + 8),param_2);" (call_expression "fputs(*(char **)(param_1 + 8),param_2)" (identifier "fputs") (argument_list "(*(char **)(param_1 + 8),param_2)" (( "(") (pointer_expression "*(char **)(param_1 + 8)" (* "*") (cast_expression "(char **)(param_1 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" (identifier "fputc") (argument_list "(0x29,param_2)" (( "(") (number_literal "0x29") (, ",") (identifier "param_2") () ")"))) (; ";")) (goto_statement "goto LAB_00428126;" (goto "goto") (statement_identifier "LAB_00428126") (; ";")) (} "}"))) (expression_statement "fputs(*(char **)(param_1 + 8),param_2);" (call_expression "fputs(*(char **)(param_1 + 8),param_2)" (identifier "fputs") (argument_list "(*(char **)(param_1 + 8),param_2)" (( "(") (pointer_expression "*(char **)(param_1 + 8)" (* "*") (cast_expression "(char **)(param_1 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "param_2") () ")"))) (; ";")) (if_statement "if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50))" (( "(") (binary_expression "*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)" (pointer_expression "*(long *)(param_1 + 0x48)" (* "*") (cast_expression "(long *)(param_1 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")")))) (== "==") (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (goto_statement "goto LAB_00428369;" (goto "goto") (statement_identifier "LAB_00428369") (; ";"))) (} "}")))) (expression_statement "fputc(0x28,param_2);" (call_expression "fputc(0x28,param_2)" (identifier "fputc") (argument_list "(0x28,param_2)" (( "(") (number_literal "0x28") (, ",") (identifier "param_2") () ")"))) (; ";")) (if_statement "if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38))" (( "(") (binary_expression "*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)" (pointer_expression "*(long *)(param_1 + 0x30)" (* "*") (cast_expression "(long *)(param_1 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (== "==") (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (compound_statement "{\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;\n  }" ({ "{") (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x48);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x48)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;" (if "if") (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x50))" (( "(") (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x50)" (identifier "puVar3") (!= "!=") (pointer_expression "*(undefined8 **)(param_1 + 0x50)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (goto_statement "goto LAB_004281c0;" (goto "goto") (statement_identifier "LAB_004281c0") (; ";"))) (} "}")) (else_clause "else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }" (else "else") (compound_statement "{\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x30);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }\n    fputc(0x29,param_2);\n    puVar3 = *(undefined8 **)(param_1 + 0x48);\n    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }\n  }" ({ "{") (expression_statement "fwrite("EXCLUDE_FILE(",1,0xd,param_2);" (call_expression "fwrite("EXCLUDE_FILE(",1,0xd,param_2)" (identifier "fwrite") (argument_list "("EXCLUDE_FILE(",1,0xd,param_2)" (( "(") (string_literal ""EXCLUDE_FILE("" (" """) (string_content "EXCLUDE_FILE(") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0xd") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x30);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x30)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x30)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x30)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }" (if "if") (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x38))" (( "(") (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x38)" (identifier "puVar3") (!= "!=") (pointer_expression "*(undefined8 **)(param_1 + 0x38)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x38)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (compound_statement "{\n      while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }\n    }" ({ "{") (while_statement "while( true ) {\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        pcVar2 = (char *)*puVar3;\n        puVar3 = puVar3 + 5;\n        fputs(pcVar2,param_2);\n        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;\n        fwrite(", ",1,2,param_2);\n      }" ({ "{") (expression_statement "pcVar2 = (char *)*puVar3;" (assignment_expression "pcVar2 = (char *)*puVar3" (identifier "pcVar2") (= "=") (cast_expression "(char *)*puVar3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) (; ";")) (expression_statement "puVar3 = puVar3 + 5;" (assignment_expression "puVar3 = puVar3 + 5" (identifier "puVar3") (= "=") (binary_expression "puVar3 + 5" (identifier "puVar3") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "fputs(pcVar2,param_2);" (call_expression "fputs(pcVar2,param_2)" (identifier "fputs") (argument_list "(pcVar2,param_2)" (( "(") (identifier "pcVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (if_statement "if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;" (if "if") (parenthesized_expression "(*(undefined8 **)(param_1 + 0x38) == puVar3)" (( "(") (binary_expression "*(undefined8 **)(param_1 + 0x38) == puVar3" (pointer_expression "*(undefined8 **)(param_1 + 0x38)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x38)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (== "==") (identifier "puVar3")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fwrite(", ",1,2,param_2);" (call_expression "fwrite(", ",1,2,param_2)" (identifier "fwrite") (argument_list "(", ",1,2,param_2)" (( "(") (string_literal "", "" (" """) (string_content ", ") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" (identifier "fputc") (argument_list "(0x29,param_2)" (( "(") (number_literal "0x29") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x48);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x48)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x48)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }" (if "if") (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x50))" (( "(") (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x50)" (identifier "puVar3") (!= "!=") (pointer_expression "*(undefined8 **)(param_1 + 0x50)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (compound_statement "{\nLAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));\n    }" ({ "{") (labeled_statement "LAB_0042822d:\n      do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));" (statement_identifier "LAB_0042822d") (: ":") (do_statement "do {\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));" (do "do") (compound_statement "{\n        fputc(0x20,param_2);\nLAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar3 = puVar3 + 5;\n        fputc(0x29,param_2);\n      }" ({ "{") (expression_statement "fputc(0x20,param_2);" (call_expression "fputc(0x20,param_2)" (identifier "fputc") (argument_list "(0x20,param_2)" (( "(") (number_literal "0x20") (, ",") (identifier "param_2") () ")"))) (; ";")) (labeled_statement "LAB_004281c0:\n        switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }" (statement_identifier "LAB_004281c0") (: ":") (switch_statement "switch(*(undefined4 *)((long)puVar3 + 0x24)) {\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }" (switch "switch") (parenthesized_expression "(*(undefined4 *)((long)puVar3 + 0x24))" (( "(") (pointer_expression "*(undefined4 *)((long)puVar3 + 0x24)" (* "*") (cast_expression "(undefined4 *)((long)puVar3 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar3 + 0x24)" (( "(") (binary_expression "(long)puVar3 + 0x24" (cast_expression "(long)puVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar3")) (+ "+") (number_literal "0x24")) () ")")))) () ")")) (compound_statement "{\n        case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;\n        case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;\n        case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;\n        case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;\n        default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");\n        }" ({ "{") (case_statement "case 0:\n          pcVar2 = (char *)*puVar3;\n          puVar3 = puVar3 + 5;\n          fputs(pcVar2,param_2);\n          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;\n          goto LAB_0042822d;" (case "case") (number_literal "0") (: ":") (expression_statement "pcVar2 = (char *)*puVar3;" (assignment_expression "pcVar2 = (char *)*puVar3" (identifier "pcVar2") (= "=") (cast_expression "(char *)*puVar3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) (; ";")) (expression_statement "puVar3 = puVar3 + 5;" (assignment_expression "puVar3 = puVar3 + 5" (identifier "puVar3") (= "=") (binary_expression "puVar3 + 5" (identifier "puVar3") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "fputs(pcVar2,param_2);" (call_expression "fputs(pcVar2,param_2)" (identifier "fputs") (argument_list "(pcVar2,param_2)" (( "(") (identifier "pcVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (if_statement "if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;" (if "if") (parenthesized_expression "(puVar3 == *(undefined8 **)(param_1 + 0x50))" (( "(") (binary_expression "puVar3 == *(undefined8 **)(param_1 + 0x50)" (identifier "puVar3") (== "==") (pointer_expression "*(undefined8 **)(param_1 + 0x50)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (goto_statement "goto LAB_00428320;" (goto "goto") (statement_identifier "LAB_00428320") (; ";"))) (goto_statement "goto LAB_0042822d;" (goto "goto") (statement_identifier "LAB_0042822d") (; ";"))) (case_statement "case 1:\n          fwrite("SORT_BY_NAME(",1,0xd,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;" (case "case") (number_literal "1") (: ":") (expression_statement "fwrite("SORT_BY_NAME(",1,0xd,param_2);" (call_expression "fwrite("SORT_BY_NAME(",1,0xd,param_2)" (identifier "fwrite") (argument_list "("SORT_BY_NAME(",1,0xd,param_2)" (( "(") (string_literal ""SORT_BY_NAME("" (" """) (string_content "SORT_BY_NAME(") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0xd") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" (identifier "fputs") (argument_list "((char *)*puVar3,param_2)" (( "(") (cast_expression "(char *)*puVar3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (, ",") (identifier "param_2") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;" (case "case") (number_literal "2") (: ":") (expression_statement "fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);" (call_expression "fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2)" (identifier "fwrite") (argument_list "("SORT_BY_ALIGNMENT(",1,0x12,param_2)" (( "(") (string_literal ""SORT_BY_ALIGNMENT("" (" """) (string_content "SORT_BY_ALIGNMENT(") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0x12") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" (identifier "fputs") (argument_list "((char *)*puVar3,param_2)" (( "(") (cast_expression "(char *)*puVar3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (, ",") (identifier "param_2") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          goto LAB_00428204;" (case "case") (number_literal "3") (: ":") (expression_statement "fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);" (call_expression "fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2)" (identifier "fwrite") (argument_list "("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2)" (( "(") (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" (" """) (string_content "SORT_BY_NAME(SORT_BY_ALIGNMENT(") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0x1f") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" (identifier "fputs") (argument_list "((char *)*puVar3,param_2)" (( "(") (cast_expression "(char *)*puVar3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (, ",") (identifier "param_2") () ")"))) (; ";")) (goto_statement "goto LAB_00428204;" (goto "goto") (statement_identifier "LAB_00428204") (; ";"))) (case_statement "case 4:\n          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\nLAB_00428204:\n          fputc(0x29,param_2);\n          break;" (case "case") (number_literal "4") (: ":") (expression_statement "fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);" (call_expression "fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2)" (identifier "fwrite") (argument_list "("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2)" (( "(") (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" (" """) (string_content "SORT_BY_ALIGNMENT(SORT_BY_NAME(") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0x1f") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" (identifier "fputs") (argument_list "((char *)*puVar3,param_2)" (( "(") (cast_expression "(char *)*puVar3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (, ",") (identifier "param_2") () ")"))) (; ";")) (labeled_statement "LAB_00428204:\n          fputc(0x29,param_2);" (statement_identifier "LAB_00428204") (: ":") (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" (identifier "fputc") (argument_list "(0x29,param_2)" (( "(") (number_literal "0x29") (, ",") (identifier "param_2") () ")"))) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);\n          fputs((char *)*puVar3,param_2);\n          break;" (case "case") (number_literal "5") (: ":") (expression_statement "fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);" (call_expression "fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2)" (identifier "fwrite") (argument_list "("SORT_BY_INIT_PRIORITY(",1,0x16,param_2)" (( "(") (string_literal ""SORT_BY_INIT_PRIORITY("" (" """) (string_content "SORT_BY_INIT_PRIORITY(") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0x16") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "fputs((char *)*puVar3,param_2);" (call_expression "fputs((char *)*puVar3,param_2)" (identifier "fputs") (argument_list "((char *)*puVar3,param_2)" (( "(") (cast_expression "(char *)*puVar3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (, ",") (identifier "param_2") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n                    \n          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");" (default "default") (: ":") (expression_statement "FUN_00352af0("../../gold/script-sections.cc",0x780,"print");" (call_expression "FUN_00352af0("../../gold/script-sections.cc",0x780,"print")" (identifier "FUN_00352af0") (argument_list "("../../gold/script-sections.cc",0x780,"print")" (( "(") (string_literal ""../../gold/script-sections.cc"" (" """) (string_content "../../gold/script-sections.cc") (" """)) (, ",") (number_literal "0x780") (, ",") (string_literal ""print"" (" """) (string_content "print") (" """)) () ")"))) (; ";"))) (} "}")))) (expression_statement "puVar3 = puVar3 + 5;" (assignment_expression "puVar3 = puVar3 + 5" (identifier "puVar3") (= "=") (binary_expression "puVar3 + 5" (identifier "puVar3") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" (identifier "fputc") (argument_list "(0x29,param_2)" (( "(") (number_literal "0x29") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar3 != *(undefined8 **)(param_1 + 0x50))" (( "(") (binary_expression "puVar3 != *(undefined8 **)(param_1 + 0x50)" (identifier "puVar3") (!= "!=") (pointer_expression "*(undefined8 **)(param_1 + 0x50)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (; ";"))) (} "}"))) (} "}")))) (labeled_statement "LAB_00428320:\n  fputc(0x29,param_2);" (statement_identifier "LAB_00428320") (: ":") (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" (identifier "fputc") (argument_list "(0x29,param_2)" (( "(") (number_literal "0x29") (, ",") (identifier "param_2") () ")"))) (; ";"))) (expression_statement "cVar1 = *(char *)(param_1 + 0x60);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x60)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(param_1 + 0x60)" (* "*") (cast_expression "(char *)(param_1 + 0x60)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (labeled_statement "joined_r0x0042837f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }" (statement_identifier "joined_r0x0042837f") (: ":") (if_statement "if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    fputc(0x29,param_2);\n  }" ({ "{") (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" (identifier "fputc") (argument_list "(0x29,param_2)" (( "(") (number_literal "0x29") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}")))) (expression_statement "fputc(10,param_2);" (call_expression "fputc(10,param_2)" (identifier "fputc") (argument_list "(10,param_2)" (( "(") (number_literal "10") (, ",") (identifier "param_2") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void print(Output_section_element_input * this, FILE * f) */

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

{
  char var_14;
  basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *pbVar2;
  type_3 *psVar3;
  type_4 var_12;
  type_4 var_13;
  
  var_4(&DAT_0058013c,1,4,(type_2 *)f);
  if (this->keep_ != false) {
    var_4("KEEP(",1,5,(type_2 *)f);
  }
  if ((this->filename_pattern_)._M_string_length == 0) {
LAB_00428126:
    if ((this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_5,_std::var_1<gold::type_1::var_5>var_3>
        ._M_impl._M_start ==
        (this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_5,_std::var_1<gold::type_1::var_5>var_3>
        ._M_impl._M_finish) {
LAB_00428369:
      if ((this->filename_exclusions_).
          super__Vector_base<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>,_std::var_1<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>var_3>var_3>
          ._M_impl._M_start ==
          (this->filename_exclusions_).
          super__Vector_base<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>,_std::var_1<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>var_3>var_3>
          ._M_impl._M_finish) {
        var_14 = this->keep_;
        goto joined_r0x0042837f;
      }
    }
  }
  else {
    if (this->filename_sort_ != var_7) {
      if (this->filename_sort_ != var_8) {
                    /* WARNING: Subroutine does not return */
        var_9("../../gold/script-sections.cc",0x73d,"print");
      }
      var_4("SORT_BY_NAME(",1,0xd,(type_2 *)f);
      var_10((this->filename_pattern_)._M_dataplus._M_p,(type_2 *)f);
      var_11(0x29,(type_2 *)f);
      goto LAB_00428126;
    }
    var_10((this->filename_pattern_)._M_dataplus._M_p,(type_2 *)f);
    if ((this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_5,_std::var_1<gold::type_1::var_5>var_3>
        ._M_impl._M_start ==
        (this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_5,_std::var_1<gold::type_1::var_5>var_3>
        ._M_impl._M_finish) goto LAB_00428369;
  }
  var_11(0x28,(type_2 *)f);
  if ((this->filename_exclusions_).
      super__Vector_base<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>,_std::var_1<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>var_3>var_3>
      ._M_impl._M_start ==
      (this->filename_exclusions_).
      super__Vector_base<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>,_std::var_1<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>var_3>var_3>
      ._M_impl._M_finish) {
    var_13 = (this->input_section_patterns_).
             super__Vector_base<gold::Output_section_element_input::var_5,_std::var_1<gold::Output_section_element_input::var_5>var_3>
             ._M_impl._M_start;
    if (var_13 != (this->input_section_patterns_).
                  super__Vector_base<gold::type_1::var_5,_std::var_1<gold::type_1::var_5>var_3>
                  ._M_impl._M_finish) goto LAB_004281c0;
  }
  else {
    var_4("EXCLUDE_FILE(",1,0xd,(type_2 *)f);
    var_12 = (this->filename_exclusions_).
             super__Vector_base<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>,_std::var_1<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>var_3>var_3>
             ._M_impl._M_start;
    if (var_12 != (this->filename_exclusions_).
                  super__Vector_base<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>,_std::var_1<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>var_3>var_3>
                  ._M_impl._M_finish) {
      while( true ) {
        pbVar2 = &var_12->first;
        var_12 = var_12 + 1;
        var_10((pbVar2->_M_dataplus)._M_p,(type_2 *)f);
        if ((this->filename_exclusions_).
            super__Vector_base<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>,_std::var_1<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,var_6>var_3>var_3>
            ._M_impl._M_finish == var_12) break;
        var_4(", ",1,2,(type_2 *)f);
      }
    }
    var_11(0x29,(type_2 *)f);
    var_13 = (this->input_section_patterns_).
             super__Vector_base<gold::Output_section_element_input::var_5,_std::var_1<gold::Output_section_element_input::var_5>var_3>
             ._M_impl._M_start;
    if (var_13 != (this->input_section_patterns_).
                  super__Vector_base<gold::type_1::var_5,_std::var_1<gold::type_1::var_5>var_3>
                  ._M_impl._M_finish) {
LAB_0042822d:
      do {
        var_11(0x20,(type_2 *)f);
LAB_004281c0:
        switch(var_13->sort) {
        case var_7:
          psVar3 = &var_13->pattern;
          var_13 = var_13 + 1;
          var_10((psVar3->_M_dataplus)._M_p,(type_2 *)f);
          if (var_13 == (this->input_section_patterns_).
                        super__Vector_base<gold::type_1::var_5,_std::var_1<gold::type_1::var_5>var_3>
                        ._M_impl._M_finish) goto LAB_00428320;
          goto LAB_0042822d;
        case var_8:
          var_4("SORT_BY_NAME(",1,0xd,(type_2 *)f);
          var_10((var_13->pattern)._M_dataplus._M_p,(type_2 *)f);
          break;
        case SORT_WILDCARD_BY_ALIGNMENT:
          var_4("SORT_BY_ALIGNMENT(",1,0x12,(type_2 *)f);
          var_10((var_13->pattern)._M_dataplus._M_p,(type_2 *)f);
          break;
        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:
          var_4("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,(type_2 *)f);
          var_10((var_13->pattern)._M_dataplus._M_p,(type_2 *)f);
          goto LAB_00428204;
        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:
          var_4("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,(type_2 *)f);
          var_10((var_13->pattern)._M_dataplus._M_p,(type_2 *)f);
LAB_00428204:
          var_11(0x29,(type_2 *)f);
          break;
        case SORT_WILDCARD_BY_INIT_PRIORITY:
          var_4("SORT_BY_INIT_PRIORITY(",1,0x16,(type_2 *)f);
          var_10((var_13->pattern)._M_dataplus._M_p,(type_2 *)f);
          break;
        default:
                    /* WARNING: Subroutine does not return */
          var_9("../../gold/script-sections.cc",0x780,"print");
        }
        var_13 = var_13 + 1;
        var_11(0x29,(type_2 *)f);
      } while (var_13 != (this->input_section_patterns_).
                         super__Vector_base<gold::type_1::var_5,_std::var_1<gold::type_1::var_5>var_3>
                         ._M_impl._M_finish);
    }
  }
LAB_00428320:
  var_11(0x29,(type_2 *)f);
  var_14 = this->keep_;
joined_r0x0042837f:
  if (var_14 != '\0') {
    var_11(0x29,(type_2 *)f);
  }
  var_11(10,(type_2 *)f);
  return;
}


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

void MASKED(long param_1,FILE *param_2)

{
  char cVar1;
  char *pcVar2;
  undefined8 *puVar3;
  
  fwrite(&DAT_0058013c,1,4,param_2);
  if (*(char *)(param_1 + 0x60) != '\0') {
    fwrite("KEEP(",1,5,param_2);
  }
  if (*(long *)(param_1 + 0x10) == 0) {
LAB_00428126:
    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) {
LAB_00428369:
      if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {
        cVar1 = *(char *)(param_1 + 0x60);
        goto joined_r0x0042837f;
      }
    }
  }
  else {
    if (*(int *)(param_1 + 0x2c) != 0) {
      if (*(int *)(param_1 + 0x2c) != 1) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/script-sections.cc",0x73d,"print");
      }
      fwrite("SORT_BY_NAME(",1,0xd,param_2);
      fputs(*(char **)(param_1 + 8),param_2);
      fputc(0x29,param_2);
      goto LAB_00428126;
    }
    fputs(*(char **)(param_1 + 8),param_2);
    if (*(long *)(param_1 + 0x48) == *(long *)(param_1 + 0x50)) goto LAB_00428369;
  }
  fputc(0x28,param_2);
  if (*(long *)(param_1 + 0x30) == *(long *)(param_1 + 0x38)) {
    puVar3 = *(undefined8 **)(param_1 + 0x48);
    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) goto LAB_004281c0;
  }
  else {
    fwrite("EXCLUDE_FILE(",1,0xd,param_2);
    puVar3 = *(undefined8 **)(param_1 + 0x30);
    if (puVar3 != *(undefined8 **)(param_1 + 0x38)) {
      while( true ) {
        pcVar2 = (char *)*puVar3;
        puVar3 = puVar3 + 5;
        fputs(pcVar2,param_2);
        if (*(undefined8 **)(param_1 + 0x38) == puVar3) break;
        fwrite(", ",1,2,param_2);
      }
    }
    fputc(0x29,param_2);
    puVar3 = *(undefined8 **)(param_1 + 0x48);
    if (puVar3 != *(undefined8 **)(param_1 + 0x50)) {
LAB_0042822d:
      do {
        fputc(0x20,param_2);
LAB_004281c0:
        switch(*(undefined4 *)((long)puVar3 + 0x24)) {
        case 0:
          pcVar2 = (char *)*puVar3;
          puVar3 = puVar3 + 5;
          fputs(pcVar2,param_2);
          if (puVar3 == *(undefined8 **)(param_1 + 0x50)) goto LAB_00428320;
          goto LAB_0042822d;
        case 1:
          fwrite("SORT_BY_NAME(",1,0xd,param_2);
          fputs((char *)*puVar3,param_2);
          break;
        case 2:
          fwrite("SORT_BY_ALIGNMENT(",1,0x12,param_2);
          fputs((char *)*puVar3,param_2);
          break;
        case 3:
          fwrite("SORT_BY_NAME(SORT_BY_ALIGNMENT(",1,0x1f,param_2);
          fputs((char *)*puVar3,param_2);
          goto LAB_00428204;
        case 4:
          fwrite("SORT_BY_ALIGNMENT(SORT_BY_NAME(",1,0x1f,param_2);
          fputs((char *)*puVar3,param_2);
LAB_00428204:
          fputc(0x29,param_2);
          break;
        case 5:
          fwrite("SORT_BY_INIT_PRIORITY(",1,0x16,param_2);
          fputs((char *)*puVar3,param_2);
          break;
        default:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/script-sections.cc",0x780,"print");
        }
        puVar3 = puVar3 + 5;
        fputc(0x29,param_2);
      } while (puVar3 != *(undefined8 **)(param_1 + 0x50));
    }
  }
LAB_00428320:
  fputc(0x29,param_2);
  cVar1 = *(char *)(param_1 + 0x60);
joined_r0x0042837f:
  if (cVar1 != '\0') {
    fputc(0x29,param_2);
  }
  fputc(10,param_2);
  return;
}

