
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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;
  char *pcVar2;
  pointer ppVar3;
  pointer pIVar4;
  pointer pIVar5;
  size_t __n;
  
  fwrite(&DAT_002611ac,1,4,(FILE *)f);
  if (this->keep_ != false) {
    fwrite("KEEP(",1,5,(FILE *)f);
  }
  if ((this->filename_pattern_)._M_string_length == 0) {
LAB_001318ac:
    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_00131a5f:
      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_r0x00131a6f;
      }
    }
  }
  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_001318ac;
    }
    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_00131a5f;
  }
  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) {
    pIVar4 = (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 ((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 != pIVar4) goto LAB_00131938;
  }
  else {
    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);
    ppVar3 = (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 (ppVar3 != (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 ) {
        fputs((ppVar3->first)._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 == ppVar3 + 1) break;
        fwrite(", ",1,2,(FILE *)f);
        ppVar3 = ppVar3 + 1;
      }
    }
    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 ((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 != pIVar5) {
LAB_0013198f:
      do {
        fputc(0x20,(FILE *)f);
        pIVar4 = pIVar5;
LAB_00131938:
        switch(pIVar4->sort) {
        case SORT_WILDCARD_NONE:
          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);
          goto LAB_00131987;
        case SORT_WILDCARD_BY_NAME:
          pcVar2 = "SORT_BY_NAME(";
          __n = 0xd;
          break;
        case SORT_WILDCARD_BY_ALIGNMENT:
          pcVar2 = "SORT_BY_ALIGNMENT(";
          __n = 0x12;
          break;
        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:
          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";
          goto LAB_0013195b;
        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:
          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";
LAB_0013195b:
          fwrite(pcVar2,1,0x1f,(FILE *)f);
          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);
          fputc(0x29,(FILE *)f);
          fputc(0x29,(FILE *)f);
LAB_00131987:
          pIVar5 = pIVar4 + 1;
          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_001319e5;
          goto LAB_0013198f;
        case SORT_WILDCARD_BY_INIT_PRIORITY:
          pcVar2 = "SORT_BY_INIT_PRIORITY(";
          __n = 0x16;
          break;
        default:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");
        }
        pIVar5 = pIVar4 + 1;
        fwrite(pcVar2,1,__n,(FILE *)f);
        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);
        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_001319e5:
  fputc(0x29,(FILE *)f);
  cVar1 = this->keep_;
joined_r0x00131a6f:
  if (cVar1 != '\0') {
    fputc(0x29,(FILE *)f);
  }
  fputc(10,(FILE *)f);
  return;
}



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

void FUN_00131830(int param_1,FILE *param_2)

{
  char cVar1;
  char *pcVar2;
  undefined4 *puVar3;
  undefined4 *puVar4;
  size_t __n;
  
  fwrite(&DAT_002611ac,1,4,param_2);
  if (*(char *)(param_1 + 0x3c) != '\0') {
    fwrite("KEEP(",1,5,param_2);
  }
  if (*(int *)(param_1 + 8) == 0) {
LAB_001318ac:
    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {
LAB_00131a5f:
      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {
        cVar1 = *(char *)(param_1 + 0x3c);
        goto joined_r0x00131a6f;
      }
    }
  }
  else {
    if (*(int *)(param_1 + 0x20) != 0) {
      if (*(int *)(param_1 + 0x20) != 1) {
                    /* WARNING: Subroutine does not return */
        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));
      }
      fwrite("SORT_BY_NAME(",1,0xd,param_2);
      fputs(*(char **)(param_1 + 4),param_2);
      fputc(0x29,param_2);
      goto LAB_001318ac;
    }
    fputs(*(char **)(param_1 + 4),param_2);
    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;
  }
  fputc(0x28,param_2);
  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {
    puVar3 = *(undefined4 **)(param_1 + 0x30);
    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;
  }
  else {
    fwrite("EXCLUDE_FILE(",1,0xd,param_2);
    puVar3 = *(undefined4 **)(param_1 + 0x24);
    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {
      while( true ) {
        fputs((char *)*puVar3,param_2);
        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;
        fwrite(", ",1,2,param_2);
        puVar3 = puVar3 + 7;
      }
    }
    fputc(0x29,param_2);
    puVar4 = *(undefined4 **)(param_1 + 0x30);
    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {
LAB_0013198f:
      do {
        fputc(0x20,param_2);
        puVar3 = puVar4;
LAB_00131938:
        switch(puVar3[7]) {
        case 0:
          fputs((char *)*puVar3,param_2);
          goto code_r0x00131987;
        case 1:
          pcVar2 = "SORT_BY_NAME(";
          __n = 0xd;
          break;
        case 2:
          pcVar2 = "SORT_BY_ALIGNMENT(";
          __n = 0x12;
          break;
        case 3:
          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";
          goto code_r0x0013195b;
        case 4:
          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";
code_r0x0013195b:
          fwrite(pcVar2,1,0x1f,param_2);
          fputs((char *)*puVar3,param_2);
          fputc(0x29,param_2);
          fputc(0x29,param_2);
code_r0x00131987:
          puVar4 = puVar3 + 8;
          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;
          goto LAB_0013198f;
        case 5:
          pcVar2 = "SORT_BY_INIT_PRIORITY(";
          __n = 0x16;
          break;
        default:
                    /* WARNING: Subroutine does not return */
          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");
        }
        puVar4 = puVar3 + 8;
        fwrite(pcVar2,1,__n,param_2);
        fputs((char *)*puVar3,param_2);
        fputc(0x29,param_2);
      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));
    }
  }
LAB_001319e5:
  fputc(0x29,param_2);
  cVar1 = *(char *)(param_1 + 0x3c);
joined_r0x00131a6f:
  if (cVar1 != '\0') {
    fputc(0x29,param_2);
  }
  fputc(10,param_2);
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035680
ADD EBX,0x20d7c7
SUB ESP,0x1c
MOV ESI,dword ptr [ESP + 0x34]
MOV EDI,dword ptr [ESP + 0x30]
PUSH ESI
LEA EAX,[EBX + 0xfff221ac]
PUSH 0x4
PUSH 0x1
PUSH EAX
CALL 0x00028730
ADD ESP,0x10
CMP byte ptr [EDI + 0x3c],0x0
JNZ 0x00131ab0
MOV ECX,dword ptr [EDI + 0x8]
TEST ECX,ECX
JZ 0x001318ac
MOV EAX,dword ptr [EDI + 0x20]
TEST EAX,EAX
JZ 0x00131a44
CMP EAX,0x1
JNZ 0x00131ae4
LEA EAX,[EBX + 0xfff210c8]
PUSH ESI
PUSH 0xd
PUSH 0x1
PUSH EAX
CALL 0x00028730
POP EBP
POP EAX
PUSH ESI
PUSH dword ptr [EDI + 0x4]
CALL 0x00028060
POP EAX
POP EDX
PUSH ESI
PUSH 0x29
CALL 0x00028800
ADD ESP,0x10
MOV EAX,dword ptr [EDI + 0x34]
CMP dword ptr [EDI + 0x30],EAX
JZ 0x00131a5f
SUB ESP,0x8
PUSH ESI
PUSH 0x28
CALL 0x00028800
ADD ESP,0x10
MOV EAX,dword ptr [EDI + 0x28]
CMP dword ptr [EDI + 0x24],EAX
JZ 0x00131928
LEA EAX,[EBX + 0xfff210d6]
PUSH ESI
PUSH 0xd
PUSH 0x1
PUSH EAX
CALL 0x00028730
MOV EDX,dword ptr [EDI + 0x24]
ADD ESP,0x10
CMP EDX,dword ptr [EDI + 0x28]
JZ 0x00131a88
LEA EAX,[EBX + 0xfff28dc7]
MOV EBP,EDX
MOV dword ptr [ESP + 0xc],EAX
SUB ESP,0x8
ADD EBP,0x1c
PUSH ESI
PUSH dword ptr [EBP + -0x1c]
CALL 0x00028060
ADD ESP,0x10
CMP dword ptr [EDI + 0x28],EBP
JZ 0x00131a88
PUSH ESI
PUSH 0x2
PUSH 0x1
PUSH dword ptr [ESP + 0x18]
CALL 0x00028730
ADD ESP,0x10
JMP 0x001318fa
MOV EBP,dword ptr [EDI + 0x30]
CMP dword ptr [EDI + 0x34],EBP
JZ 0x001319e5
LEA ESI,[ESI]
CMP dword ptr [EBP + 0x1c],0x5
JA 0x00131ac9
MOV EAX,dword ptr [EBP + 0x1c]
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfff217d8]
ADD ECX,EBX
JMP ECX
SUB ESP,0x8
PUSH ESI
PUSH 0x20
CALL 0x00028800
ADD ESP,0x10
JMP 0x00131938
SUB ESP,0x8
PUSH ESI
PUSH 0x29
CALL 0x00028800
ADD ESP,0x10
CMP byte ptr [EDI + 0x3c],0x0
JNZ 0x00131a71
SUB ESP,0x8
PUSH ESI
PUSH 0xa
CALL 0x00028800
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [EDI + 0x4]
CALL 0x00028060
ADD ESP,0x10
MOV EAX,dword ptr [EDI + 0x34]
CMP dword ptr [EDI + 0x30],EAX
JNZ 0x001318b8
MOV EAX,dword ptr [EDI + 0x28]
CMP dword ptr [EDI + 0x24],EAX
JNZ 0x001318b8
CMP byte ptr [EDI + 0x3c],0x0
JZ 0x001319f9
SUB ESP,0x8
PUSH ESI
PUSH 0x29
CALL 0x00028800
ADD ESP,0x10
JMP 0x001319f9
SUB ESP,0x8
PUSH ESI
PUSH 0x29
CALL 0x00028800
MOV EBP,dword ptr [EDI + 0x30]
ADD ESP,0x10
CMP dword ptr [EDI + 0x34],EBP
JNZ 0x0013198f
JMP 0x001319e5
LEA EAX,[EBX + 0xfff210c2]
PUSH ESI
PUSH 0x5
PUSH 0x1
PUSH EAX
CALL 0x00028730
ADD ESP,0x10
JMP 0x00131868
SUB ESP,0x4
LEA EAX,[EBX + 0xfff21a48]
PUSH EAX
LEA EAX,[EBX + 0xfff2109b]
PUSH 0x780
PUSH EAX
CALL 0x0008b620
LEA EAX,[EBX + 0xfff21a48]
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xfff2109b]
PUSH 0x73d
PUSH EAX
CALL 0x0008b620
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00131830(int param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,1,4,param_2);\n  if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }\n  fputc(0x28,param_2);\n  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }\nLAB_001319e5:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x3c);\njoined_r0x00131a6f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}\n\n" comment (function_definition "void FUN_00131830(int param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,1,4,param_2);\n  if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }\n  fputc(0x28,param_2);\n  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }\nLAB_001319e5:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x3c);\njoined_r0x00131a6f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_00131830(int param_1,FILE *param_2)" identifier (parameter_list "(int param_1,FILE *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "FILE *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  char *pcVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,1,4,param_2);\n  if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }\n  fputc(0x28,param_2);\n  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }\nLAB_001319e5:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x3c);\njoined_r0x00131a6f:\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 "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (expression_statement "fwrite(&DAT_002611ac,1,4,param_2);" (call_expression "fwrite(&DAT_002611ac,1,4,param_2)" identifier (argument_list "(&DAT_002611ac,1,4,param_2)" ( (pointer_expression "&DAT_002611ac" & identifier) , number_literal , number_literal , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x3c) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3c) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3c)" * (cast_expression "(char *)(param_1 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" 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 (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 8) == 0)" ( (binary_expression "*(int *)(param_1 + 8) == 0" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }" { (labeled_statement "LAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34))" ( (binary_expression "*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }" { (labeled_statement "LAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }" { (expression_statement "cVar1 = *(char *)(param_1 + 0x3c);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x3c)" identifier = (pointer_expression "*(char *)(param_1 + 0x3c)" * (cast_expression "(char *)(param_1 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x00131a6f;" goto statement_identifier ;) }))) }))) }) (else_clause "else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }" else (compound_statement "{\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }" { (if_statement "if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) != 0)" ( (binary_expression "*(int *)(param_1 + 0x20) != 0" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }" { (if_statement "if (*(int *)(param_1 + 0x20) != 1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) != 1)" ( (binary_expression "*(int *)(param_1 + 0x20) != 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }" { comment (expression_statement "FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));" (call_expression "FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8))" identifier (argument_list "("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8))" ( (string_literal ""../../gold/script-sections.cc"" " string_content ") , number_literal , (string_literal ""print"" " string_content ") , (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + 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 **)(param_1 + 4),param_2);" (call_expression "fputs(*(char **)(param_1 + 4),param_2)" identifier (argument_list "(*(char **)(param_1 + 4),param_2)" ( (pointer_expression "*(char **)(param_1 + 4)" * (cast_expression "(char **)(param_1 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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_001318ac;" goto statement_identifier ;) })) (expression_statement "fputs(*(char **)(param_1 + 4),param_2);" (call_expression "fputs(*(char **)(param_1 + 4),param_2)" identifier (argument_list "(*(char **)(param_1 + 4),param_2)" ( (pointer_expression "*(char **)(param_1 + 4)" * (cast_expression "(char **)(param_1 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , identifier ))) ;) (if_statement "if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;" if (parenthesized_expression "(*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34))" ( (binary_expression "*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00131a5f;" 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 (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }" { (expression_statement "puVar3 = *(undefined4 **)(param_1 + 0x30);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x34) != puVar3)" ( (binary_expression "*(undefined4 **)(param_1 + 0x34) != puVar3" (pointer_expression "*(undefined4 **)(param_1 + 0x34)" * (cast_expression "(undefined4 **)(param_1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_00131938;" goto statement_identifier ;)) }) (else_clause "else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }" else (compound_statement "{\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\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 = *(undefined4 **)(param_1 + 0x24);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x24)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x24)" * (cast_expression "(undefined4 **)(param_1 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }" if (parenthesized_expression "(puVar3 != *(undefined4 **)(param_1 + 0x28))" ( (binary_expression "puVar3 != *(undefined4 **)(param_1 + 0x28)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x28)" * (cast_expression "(undefined4 **)(param_1 + 0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }" { (while_statement "while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }" { (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 ))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x28) == puVar3 + 7)" ( (binary_expression "*(undefined4 **)(param_1 + 0x28) == puVar3 + 7" (pointer_expression "*(undefined4 **)(param_1 + 0x28)" * (cast_expression "(undefined4 **)(param_1 + 0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == (binary_expression "puVar3 + 7" identifier + number_literal)) )) (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 "puVar3 = puVar3 + 7;" (assignment_expression "puVar3 = puVar3 + 7" identifier = (binary_expression "puVar3 + 7" identifier + number_literal)) ;) })) })) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (expression_statement "puVar4 = *(undefined4 **)(param_1 + 0x30);" (assignment_expression "puVar4 = *(undefined4 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x34) != puVar4)" ( (binary_expression "*(undefined4 **)(param_1 + 0x34) != puVar4" (pointer_expression "*(undefined4 **)(param_1 + 0x34)" * (cast_expression "(undefined4 **)(param_1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) != identifier) )) (compound_statement "{\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }" { (labeled_statement "LAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));" statement_identifier : (do_statement "do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));" do (compound_statement "{\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\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 ))) ;) (expression_statement "puVar3 = puVar4;" (assignment_expression "puVar3 = puVar4" identifier = identifier) ;) (labeled_statement "LAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }" statement_identifier : (switch_statement "switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }" switch (parenthesized_expression "(puVar3[7])" ( (subscript_expression "puVar3[7]" identifier [ number_literal ]) )) (compound_statement "{\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }" { (case_statement "case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;" case number_literal : (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 code_r0x00131987;" goto statement_identifier ;)) (case_statement "case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_NAME(";" (assignment_expression "pcVar2 = "SORT_BY_NAME("" identifier = (string_literal ""SORT_BY_NAME("" " string_content ")) ;) (expression_statement "__n = 0xd;" (assignment_expression "__n = 0xd" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_ALIGNMENT(";" (assignment_expression "pcVar2 = "SORT_BY_ALIGNMENT("" identifier = (string_literal ""SORT_BY_ALIGNMENT("" " string_content ")) ;) (expression_statement "__n = 0x12;" (assignment_expression "__n = 0x12" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";" (assignment_expression "pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT("" identifier = (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" " string_content ")) ;) (goto_statement "goto code_r0x0013195b;" goto statement_identifier ;)) (case_statement "case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";" (assignment_expression "pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME("" identifier = (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" " string_content ")) ;) (labeled_statement "code_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);" statement_identifier : (expression_statement "fwrite(pcVar2,1,0x1f,param_2);" (call_expression "fwrite(pcVar2,1,0x1f,param_2)" identifier (argument_list "(pcVar2,1,0x1f,param_2)" ( identifier , 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 ))) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (labeled_statement "code_r0x00131987:\n          puVar4 = puVar3 + 8;" statement_identifier : (expression_statement "puVar4 = puVar3 + 8;" (assignment_expression "puVar4 = puVar3 + 8" identifier = (binary_expression "puVar3 + 8" identifier + number_literal)) ;)) (if_statement "if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;" if (parenthesized_expression "(puVar4 == *(undefined4 **)(param_1 + 0x34))" ( (binary_expression "puVar4 == *(undefined4 **)(param_1 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(param_1 + 0x34)" * (cast_expression "(undefined4 **)(param_1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001319e5;" goto statement_identifier ;)) (goto_statement "goto LAB_0013198f;" goto statement_identifier ;)) (case_statement "case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_INIT_PRIORITY(";" (assignment_expression "pcVar2 = "SORT_BY_INIT_PRIORITY("" identifier = (string_literal ""SORT_BY_INIT_PRIORITY("" " string_content ")) ;) (expression_statement "__n = 0x16;" (assignment_expression "__n = 0x16" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");" default : comment (expression_statement "FUN_0008b620("../../gold/script-sections.cc",0x780,"print");" (call_expression "FUN_0008b620("../../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 "puVar4 = puVar3 + 8;" (assignment_expression "puVar4 = puVar3 + 8" identifier = (binary_expression "puVar3 + 8" identifier + number_literal)) ;) (expression_statement "fwrite(pcVar2,1,__n,param_2);" (call_expression "fwrite(pcVar2,1,__n,param_2)" identifier (argument_list "(pcVar2,1,__n,param_2)" ( identifier , number_literal , identifier , 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 ))) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(puVar4 != *(undefined4 **)(param_1 + 0x34))" ( (binary_expression "puVar4 != *(undefined4 **)(param_1 + 0x34)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x34)" * (cast_expression "(undefined4 **)(param_1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) ;)) })) }))) (labeled_statement "LAB_001319e5:\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 + 0x3c);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x3c)" identifier = (pointer_expression "*(char *)(param_1 + 0x3c)" * (cast_expression "(char *)(param_1 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x00131a6f:\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 "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* 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  char *pcVar2;\n  pointer ppVar3;\n  pointer pIVar4;\n  pointer pIVar5;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,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_001318ac:\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_00131a5f:\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_r0x00131a6f;\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_001318ac;\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_00131a5f;\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    pIVar4 = (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 ((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 != pIVar4) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar3 = (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 (ppVar3 != (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        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\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 ((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 != pIVar5) {\nLAB_0013198f:\n      do {\n        fputc(0x20,(FILE *)f);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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_001319e5:\n  fputc(0x29,(FILE *)f);\n  cVar1 = this->keep_;\njoined_r0x00131a6f:\n  if (cVar1 != '\0') {\n    fputc(0x29,(FILE *)f);\n  }\n  fputc(10,(FILE *)f);\n  return;\n}\n\n" comment comment (function_definition "void __thiscall\ngold::Output_section_element_input::print(Output_section_element_input *this,FILE *f)\n\n{\n  char cVar1;\n  char *pcVar2;\n  pointer ppVar3;\n  pointer pIVar4;\n  pointer pIVar5;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,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_001318ac:\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_00131a5f:\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_r0x00131a6f;\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_001318ac;\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_00131a5f;\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    pIVar4 = (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 ((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 != pIVar4) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar3 = (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 (ppVar3 != (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        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\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 ((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 != pIVar5) {\nLAB_0013198f:\n      do {\n        fputc(0x20,(FILE *)f);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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_001319e5:\n  fputc(0x29,(FILE *)f);\n  cVar1 = this->keep_;\njoined_r0x00131a6f:\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  char *pcVar2;\n  pointer ppVar3;\n  pointer pIVar4;\n  pointer pIVar5;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,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_001318ac:\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_00131a5f:\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_r0x00131a6f;\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_001318ac;\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_00131a5f;\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    pIVar4 = (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 ((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 != pIVar4) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar3 = (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 (ppVar3 != (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        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\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 ((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 != pIVar5) {\nLAB_0013198f:\n      do {\n        fputc(0x20,(FILE *)f);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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_001319e5:\n  fputc(0x29,(FILE *)f);\n  cVar1 = this->keep_;\njoined_r0x00131a6f:\n  if (cVar1 != '\0') {\n    fputc(0x29,(FILE *)f);\n  }\n  fputc(10,(FILE *)f);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "pointer ppVar3;" type_identifier identifier ;) (declaration "pointer pIVar4;" type_identifier identifier ;) (declaration "pointer pIVar5;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (expression_statement "fwrite(&DAT_002611ac,1,4,(FILE *)f);" (call_expression "fwrite(&DAT_002611ac,1,4,(FILE *)f)" identifier (argument_list "(&DAT_002611ac,1,4,(FILE *)f)" ( (pointer_expression "&DAT_002611ac" & 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_001318ac:\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_00131a5f:\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_r0x00131a6f;\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_001318ac;\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_00131a5f;\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_001318ac:\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_00131a5f:\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_r0x00131a6f;\n      }\n    }\n  }" { (labeled_statement "LAB_001318ac:\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_00131a5f:\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_r0x00131a6f;\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_00131a5f:\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_r0x00131a6f;\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_00131a5f:\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_r0x00131a6f;\n      }\n    }" { (labeled_statement "LAB_00131a5f:\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_r0x00131a6f;\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_r0x00131a6f;\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_r0x00131a6f;\n      }" { (expression_statement "cVar1 = this->keep_;" (assignment_expression "cVar1 = this->keep_" identifier = (field_expression "this->keep_" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x00131a6f;" 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_001318ac;\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_00131a5f;\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_001318ac;\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_00131a5f;\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_001318ac;\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_001318ac;\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_001318ac;" 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_00131a5f;" 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_00131a5f;" 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    pIVar4 = (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 ((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 != pIVar4) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar3 = (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 (ppVar3 != (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        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\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 ((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 != pIVar5) {\nLAB_0013198f:\n      do {\n        fputc(0x20,(FILE *)f);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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    pIVar4 = (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 ((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 != pIVar4) goto LAB_00131938;\n  }" { (ERROR "pIVar4 = (this->input_section_patterns_).\n             super__Vector_base<gold::" (assignment_expression "pIVar4 = (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 ((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 != pIVar4) goto LAB_00131938;" 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_finish != pIVar4)" ( (ERROR "(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_finish != pIVar4" (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) != identifier) )) (goto_statement "goto LAB_00131938;" goto statement_identifier ;)) }) (else_clause "else {\n    fwrite("EXCLUDE_FILE(",1,0xd,(FILE *)f);\n    ppVar3 = (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 (ppVar3 != (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        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\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 ((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 != pIVar5) {\nLAB_0013198f:\n      do {\n        fputc(0x20,(FILE *)f);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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    ppVar3 = (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 (ppVar3 != (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        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\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 ((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 != pIVar5) {\nLAB_0013198f:\n      do {\n        fputc(0x20,(FILE *)f);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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 "ppVar3 = (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 "ppVar3 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std" (binary_expression "ppVar3 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std::__cxx11::basic_string<char" (binary_expression "ppVar3 = (this->filename_exclusions_).\n             super__Vector_base<std::pair<std" (assignment_expression "ppVar3 = (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 (ppVar3 != (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        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\n      }\n    }" if (parenthesized_expression "(ppVar3 != (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 "ppVar3 != (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 "ppVar3 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char,_std" (binary_expression "ppVar3 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std::__cxx11::basic_string<char" (binary_expression "ppVar3 != (this->filename_exclusions_).\n                  super__Vector_base<std::pair<std" (binary_expression "ppVar3 != (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        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\n      }\n    }" { (while_statement "while( true ) {\n        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        fputs((ppVar3->first)._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 == ppVar3 + 1) break;\n        fwrite(", ",1,2,(FILE *)f);\n        ppVar3 = ppVar3 + 1;\n      }" { (expression_statement "fputs((ppVar3->first)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((ppVar3->first)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((ppVar3->first)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(ppVar3->first)._M_dataplus._M_p" (field_expression "(ppVar3->first)._M_dataplus" (parenthesized_expression "(ppVar3->first)" ( (field_expression "ppVar3->first" identifier -> field_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 == ppVar3 + 1) 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 == ppVar3 + 1)" ( (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 == ppVar3 + 1" (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) == (binary_expression "ppVar3 + 1" identifier + number_literal)) )) (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 "ppVar3 = ppVar3 + 1;" (assignment_expression "ppVar3 = ppVar3 + 1" identifier = (binary_expression "ppVar3 + 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) ))) ;) (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 ((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 != pIVar5) {\nLAB_0013198f:\n      do {\n        fputc(0x20,(FILE *)f);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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 "((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 != pIVar5)" ( (ERROR "(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_finish != pIVar5" (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) != identifier) )) (compound_statement "{\nLAB_0013198f:\n      do {\n        fputc(0x20,(FILE *)f);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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_0013198f:\n      do {\n        fputc(0x20,(FILE *)f);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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);\n        pIVar4 = pIVar5;\nLAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }\n        pIVar5 = pIVar4 + 1;\n        fwrite(pcVar2,1,__n,(FILE *)f);\n        fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\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) ))) ;) (expression_statement "pIVar4 = pIVar5;" (assignment_expression "pIVar4 = pIVar5" identifier = identifier) ;) (labeled_statement "LAB_00131938:\n        switch(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\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(pIVar4->sort) {\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/script-sections.cc",0x780,"print");\n        }" switch (parenthesized_expression "(pIVar4->sort)" ( (field_expression "pIVar4->sort" identifier -> field_identifier) )) (compound_statement "{\n        case SORT_WILDCARD_NONE:\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;\n        case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;\n        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;\n        case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\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          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          goto LAB_00131987;" case identifier : (expression_statement "fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(pIVar4->pattern)._M_dataplus._M_p" (field_expression "(pIVar4->pattern)._M_dataplus" (parenthesized_expression "(pIVar4->pattern)" ( (field_expression "pIVar4->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_00131987;" goto statement_identifier ;)) (case_statement "case SORT_WILDCARD_BY_NAME:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;" case identifier : (expression_statement "pcVar2 = "SORT_BY_NAME(";" (assignment_expression "pcVar2 = "SORT_BY_NAME("" identifier = (string_literal ""SORT_BY_NAME("" " string_content ")) ;) (expression_statement "__n = 0xd;" (assignment_expression "__n = 0xd" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case SORT_WILDCARD_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;" case identifier : (expression_statement "pcVar2 = "SORT_BY_ALIGNMENT(";" (assignment_expression "pcVar2 = "SORT_BY_ALIGNMENT("" identifier = (string_literal ""SORT_BY_ALIGNMENT("" " string_content ")) ;) (expression_statement "__n = 0x12;" (assignment_expression "__n = 0x12" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto LAB_0013195b;" case identifier : (expression_statement "pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";" (assignment_expression "pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT("" identifier = (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" " string_content ")) ;) (goto_statement "goto LAB_0013195b;" goto statement_identifier ;)) (case_statement "case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\nLAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);\n          fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);\n          fputc(0x29,(FILE *)f);\n          fputc(0x29,(FILE *)f);\nLAB_00131987:\n          pIVar5 = pIVar4 + 1;\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_001319e5;\n          goto LAB_0013198f;" case identifier : (expression_statement "pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";" (assignment_expression "pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME("" identifier = (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" " string_content ")) ;) (labeled_statement "LAB_0013195b:\n          fwrite(pcVar2,1,0x1f,(FILE *)f);" statement_identifier : (expression_statement "fwrite(pcVar2,1,0x1f,(FILE *)f);" (call_expression "fwrite(pcVar2,1,0x1f,(FILE *)f)" identifier (argument_list "(pcVar2,1,0x1f,(FILE *)f)" ( identifier , number_literal , number_literal , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(pIVar4->pattern)._M_dataplus._M_p" (field_expression "(pIVar4->pattern)._M_dataplus" (parenthesized_expression "(pIVar4->pattern)" ( (field_expression "pIVar4->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) ))) ;) (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) ))) ;) (labeled_statement "LAB_00131987:\n          pIVar5 = pIVar4 + 1;" statement_identifier : (expression_statement "pIVar5 = pIVar4 + 1;" (assignment_expression "pIVar5 = pIVar4 + 1" identifier = (binary_expression "pIVar4 + 1" identifier + number_literal)) ;)) (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_001319e5;" 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_001319e5;" goto statement_identifier ;)) (goto_statement "goto LAB_0013198f;" goto statement_identifier ;)) (case_statement "case SORT_WILDCARD_BY_INIT_PRIORITY:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;" case identifier : (expression_statement "pcVar2 = "SORT_BY_INIT_PRIORITY(";" (assignment_expression "pcVar2 = "SORT_BY_INIT_PRIORITY("" identifier = (string_literal ""SORT_BY_INIT_PRIORITY("" " string_content ")) ;) (expression_statement "__n = 0x16;" (assignment_expression "__n = 0x16" identifier = number_literal) ;) (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 = pIVar4 + 1;" (assignment_expression "pIVar5 = pIVar4 + 1" identifier = (binary_expression "pIVar4 + 1" identifier + number_literal)) ;) (expression_statement "fwrite(pcVar2,1,__n,(FILE *)f);" (call_expression "fwrite(pcVar2,1,__n,(FILE *)f)" identifier (argument_list "(pcVar2,1,__n,(FILE *)f)" ( identifier , number_literal , identifier , (cast_expression "(FILE *)f" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f);" (call_expression "fputs((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f)" identifier (argument_list "((pIVar4->pattern)._M_dataplus._M_p,(FILE *)f)" ( (field_expression "(pIVar4->pattern)._M_dataplus._M_p" (field_expression "(pIVar4->pattern)._M_dataplus" (parenthesized_expression "(pIVar4->pattern)" ( (field_expression "pIVar4->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) ))) ;) }) 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_001319e5:\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_r0x00131a6f:\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_00131830(int param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,1,4,param_2);\n  if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }\n  fputc(0x28,param_2);\n  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }\nLAB_001319e5:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x3c);\njoined_r0x00131a6f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}\n\n" (function_definition "void FUN_00131830(int param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,1,4,param_2);\n  if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }\n  fputc(0x28,param_2);\n  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }\nLAB_001319e5:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x3c);\njoined_r0x00131a6f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_00131830(int param_1,FILE *param_2)" identifier (parameter_list "(int param_1,FILE *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "FILE *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  char *pcVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,1,4,param_2);\n  if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }\n  fputc(0x28,param_2);\n  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }\nLAB_001319e5:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x3c);\njoined_r0x00131a6f:\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 "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (expression_statement "fwrite(&DAT_002611ac,1,4,param_2);" (call_expression "fwrite(&DAT_002611ac,1,4,param_2)" identifier (argument_list "(&DAT_002611ac,1,4,param_2)" ( (pointer_expression "&DAT_002611ac" & identifier) , number_literal , number_literal , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x3c) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3c) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3c)" * (cast_expression "(char *)(param_1 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" 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 (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 8) == 0)" ( (binary_expression "*(int *)(param_1 + 8) == 0" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }" { (labeled_statement "LAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34))" ( (binary_expression "*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }" { (labeled_statement "LAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }" { (expression_statement "cVar1 = *(char *)(param_1 + 0x3c);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x3c)" identifier = (pointer_expression "*(char *)(param_1 + 0x3c)" * (cast_expression "(char *)(param_1 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x00131a6f;" goto statement_identifier ;) }))) }))) }) (else_clause "else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }" else (compound_statement "{\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }" { (if_statement "if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) != 0)" ( (binary_expression "*(int *)(param_1 + 0x20) != 0" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }" { (if_statement "if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) != 1)" ( (binary_expression "*(int *)(param_1 + 0x20) != 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }" { (expression_statement "FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));" (call_expression "FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8))" identifier (argument_list "("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8))" ( (string_literal ""../../gold/script-sections.cc"" " string_content ") , number_literal , (string_literal ""print"" " string_content ") , (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + 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 **)(param_1 + 4),param_2);" (call_expression "fputs(*(char **)(param_1 + 4),param_2)" identifier (argument_list "(*(char **)(param_1 + 4),param_2)" ( (pointer_expression "*(char **)(param_1 + 4)" * (cast_expression "(char **)(param_1 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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_001318ac;" goto statement_identifier ;) })) (expression_statement "fputs(*(char **)(param_1 + 4),param_2);" (call_expression "fputs(*(char **)(param_1 + 4),param_2)" identifier (argument_list "(*(char **)(param_1 + 4),param_2)" ( (pointer_expression "*(char **)(param_1 + 4)" * (cast_expression "(char **)(param_1 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , identifier ))) ;) (if_statement "if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;" if (parenthesized_expression "(*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34))" ( (binary_expression "*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00131a5f;" 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 (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }" { (expression_statement "puVar3 = *(undefined4 **)(param_1 + 0x30);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x34) != puVar3)" ( (binary_expression "*(undefined4 **)(param_1 + 0x34) != puVar3" (pointer_expression "*(undefined4 **)(param_1 + 0x34)" * (cast_expression "(undefined4 **)(param_1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_00131938;" goto statement_identifier ;)) }) (else_clause "else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }" else (compound_statement "{\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\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 = *(undefined4 **)(param_1 + 0x24);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x24)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x24)" * (cast_expression "(undefined4 **)(param_1 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }" if (parenthesized_expression "(puVar3 != *(undefined4 **)(param_1 + 0x28))" ( (binary_expression "puVar3 != *(undefined4 **)(param_1 + 0x28)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x28)" * (cast_expression "(undefined4 **)(param_1 + 0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }" { (while_statement "while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }" { (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 ))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x28) == puVar3 + 7)" ( (binary_expression "*(undefined4 **)(param_1 + 0x28) == puVar3 + 7" (pointer_expression "*(undefined4 **)(param_1 + 0x28)" * (cast_expression "(undefined4 **)(param_1 + 0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == (binary_expression "puVar3 + 7" identifier + number_literal)) )) (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 "puVar3 = puVar3 + 7;" (assignment_expression "puVar3 = puVar3 + 7" identifier = (binary_expression "puVar3 + 7" identifier + number_literal)) ;) })) })) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (expression_statement "puVar4 = *(undefined4 **)(param_1 + 0x30);" (assignment_expression "puVar4 = *(undefined4 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x34) != puVar4)" ( (binary_expression "*(undefined4 **)(param_1 + 0x34) != puVar4" (pointer_expression "*(undefined4 **)(param_1 + 0x34)" * (cast_expression "(undefined4 **)(param_1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) != identifier) )) (compound_statement "{\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }" { (labeled_statement "LAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));" statement_identifier : (do_statement "do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));" do (compound_statement "{\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\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 ))) ;) (expression_statement "puVar3 = puVar4;" (assignment_expression "puVar3 = puVar4" identifier = identifier) ;) (labeled_statement "LAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }" statement_identifier : (switch_statement "switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }" switch (parenthesized_expression "(puVar3[7])" ( (subscript_expression "puVar3[7]" identifier [ number_literal ]) )) (compound_statement "{\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }" { (case_statement "case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;" case number_literal : (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 code_r0x00131987;" goto statement_identifier ;)) (case_statement "case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_NAME(";" (assignment_expression "pcVar2 = "SORT_BY_NAME("" identifier = (string_literal ""SORT_BY_NAME("" " string_content ")) ;) (expression_statement "__n = 0xd;" (assignment_expression "__n = 0xd" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_ALIGNMENT(";" (assignment_expression "pcVar2 = "SORT_BY_ALIGNMENT("" identifier = (string_literal ""SORT_BY_ALIGNMENT("" " string_content ")) ;) (expression_statement "__n = 0x12;" (assignment_expression "__n = 0x12" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";" (assignment_expression "pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT("" identifier = (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" " string_content ")) ;) (goto_statement "goto code_r0x0013195b;" goto statement_identifier ;)) (case_statement "case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";" (assignment_expression "pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME("" identifier = (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" " string_content ")) ;) (labeled_statement "code_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);" statement_identifier : (expression_statement "fwrite(pcVar2,1,0x1f,param_2);" (call_expression "fwrite(pcVar2,1,0x1f,param_2)" identifier (argument_list "(pcVar2,1,0x1f,param_2)" ( identifier , 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 ))) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) (labeled_statement "code_r0x00131987:\n          puVar4 = puVar3 + 8;" statement_identifier : (expression_statement "puVar4 = puVar3 + 8;" (assignment_expression "puVar4 = puVar3 + 8" identifier = (binary_expression "puVar3 + 8" identifier + number_literal)) ;)) (if_statement "if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;" if (parenthesized_expression "(puVar4 == *(undefined4 **)(param_1 + 0x34))" ( (binary_expression "puVar4 == *(undefined4 **)(param_1 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(param_1 + 0x34)" * (cast_expression "(undefined4 **)(param_1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001319e5;" goto statement_identifier ;)) (goto_statement "goto LAB_0013198f;" goto statement_identifier ;)) (case_statement "case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;" case number_literal : (expression_statement "pcVar2 = "SORT_BY_INIT_PRIORITY(";" (assignment_expression "pcVar2 = "SORT_BY_INIT_PRIORITY("" identifier = (string_literal ""SORT_BY_INIT_PRIORITY("" " string_content ")) ;) (expression_statement "__n = 0x16;" (assignment_expression "__n = 0x16" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");" default : (expression_statement "FUN_0008b620("../../gold/script-sections.cc",0x780,"print");" (call_expression "FUN_0008b620("../../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 "puVar4 = puVar3 + 8;" (assignment_expression "puVar4 = puVar3 + 8" identifier = (binary_expression "puVar3 + 8" identifier + number_literal)) ;) (expression_statement "fwrite(pcVar2,1,__n,param_2);" (call_expression "fwrite(pcVar2,1,__n,param_2)" identifier (argument_list "(pcVar2,1,__n,param_2)" ( identifier , number_literal , identifier , 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 ))) ;) (expression_statement "fputc(0x29,param_2);" (call_expression "fputc(0x29,param_2)" identifier (argument_list "(0x29,param_2)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(puVar4 != *(undefined4 **)(param_1 + 0x34))" ( (binary_expression "puVar4 != *(undefined4 **)(param_1 + 0x34)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x34)" * (cast_expression "(undefined4 **)(param_1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) ;)) })) }))) (labeled_statement "LAB_001319e5:\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 + 0x3c);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x3c)" identifier = (pointer_expression "*(char *)(param_1 + 0x3c)" * (cast_expression "(char *)(param_1 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x00131a6f:\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 TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 TYPE (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * 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) )))) == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (switch_statement switch (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (compound_statement { (case_statement case LIT : (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 (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT ))) ;) (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_00131830(int param_1,FILE *param_2)\n\n{\n  char cVar1;\n  char *pcVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,1,4,param_2);\n  if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }\n  fputc(0x28,param_2);\n  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }\nLAB_001319e5:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x3c);\njoined_r0x00131a6f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }\n  fputc(10,param_2);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00131830(int param_1,FILE *param_2)" (identifier "FUN_00131830") (parameter_list "(int param_1,FILE *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (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  undefined4 *puVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  \n  fwrite(&DAT_002611ac,1,4,param_2);\n  if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }\n  if (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }\n  fputc(0x28,param_2);\n  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }\nLAB_001319e5:\n  fputc(0x29,param_2);\n  cVar1 = *(char *)(param_1 + 0x3c);\njoined_r0x00131a6f:\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 "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (expression_statement "fwrite(&DAT_002611ac,1,4,param_2);" (call_expression "fwrite(&DAT_002611ac,1,4,param_2)" (identifier "fwrite") (argument_list "(&DAT_002611ac,1,4,param_2)" (( "(") (pointer_expression "&DAT_002611ac" (& "&") (identifier "DAT_002611ac")) (, ",") (number_literal "1") (, ",") (number_literal "4") (, ",") (identifier "param_2") () ")"))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x3c) != '\0') {\n    fwrite("KEEP(",1,5,param_2);\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x3c) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x3c) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3c)" (* "*") (cast_expression "(char *)(param_1 + 0x3c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (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 (*(int *)(param_1 + 8) == 0) {\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }\n  else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 8) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 8) == 0" (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }\n  }" ({ "{") (labeled_statement "LAB_001318ac:\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }" (statement_identifier "LAB_001318ac") (: ":") (if_statement "if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34))" (( "(") (binary_expression "*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (== "==") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\nLAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }\n    }" ({ "{") (labeled_statement "LAB_00131a5f:\n      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }" (statement_identifier "LAB_00131a5f") (: ":") (if_statement "if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28))" (( "(") (binary_expression "*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n        cVar1 = *(char *)(param_1 + 0x3c);\n        goto joined_r0x00131a6f;\n      }" ({ "{") (expression_statement "cVar1 = *(char *)(param_1 + 0x3c);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x3c)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(param_1 + 0x3c)" (* "*") (cast_expression "(char *)(param_1 + 0x3c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x00131a6f;" (goto "goto") (statement_identifier "joined_r0x00131a6f") (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }" (else "else") (compound_statement "{\n    if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }\n    fputs(*(char **)(param_1 + 4),param_2);\n    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;\n  }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x20) != 0) {\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x20) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x20) != 0" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }\n      fwrite("SORT_BY_NAME(",1,0xd,param_2);\n      fputs(*(char **)(param_1 + 4),param_2);\n      fputc(0x29,param_2);\n      goto LAB_001318ac;\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x20) != 1) {\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x20) != 1)" (( "(") (binary_expression "*(int *)(param_1 + 0x20) != 1" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                    \n        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));\n      }" ({ "{") (expression_statement "FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));" (call_expression "FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8))" (identifier "FUN_0008b620") (argument_list "("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8))" (( "(") (string_literal ""../../gold/script-sections.cc"" (" """) (string_content "../../gold/script-sections.cc") (" """)) (, ",") (number_literal "0x73d") (, ",") (string_literal ""print"" (" """) (string_content "print") (" """)) (, ",") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (} "}"))) (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 + 4),param_2);" (call_expression "fputs(*(char **)(param_1 + 4),param_2)" (identifier "fputs") (argument_list "(*(char **)(param_1 + 4),param_2)" (( "(") (pointer_expression "*(char **)(param_1 + 4)" (* "*") (cast_expression "(char **)(param_1 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (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_001318ac;" (goto "goto") (statement_identifier "LAB_001318ac") (; ";")) (} "}"))) (expression_statement "fputs(*(char **)(param_1 + 4),param_2);" (call_expression "fputs(*(char **)(param_1 + 4),param_2)" (identifier "fputs") (argument_list "(*(char **)(param_1 + 4),param_2)" (( "(") (pointer_expression "*(char **)(param_1 + 4)" (* "*") (cast_expression "(char **)(param_1 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "param_2") () ")"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34))" (( "(") (binary_expression "*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (== "==") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (goto_statement "goto LAB_00131a5f;" (goto "goto") (statement_identifier "LAB_00131a5f") (; ";"))) (} "}")))) (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 (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }\n  else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28))" (( "(") (binary_expression "*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    puVar3 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;\n  }" ({ "{") (expression_statement "puVar3 = *(undefined4 **)(param_1 + 0x30);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x30)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (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 (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;" (if "if") (parenthesized_expression "(*(undefined4 **)(param_1 + 0x34) != puVar3)" (( "(") (binary_expression "*(undefined4 **)(param_1 + 0x34) != puVar3" (pointer_expression "*(undefined4 **)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (identifier "puVar3")) () ")")) (goto_statement "goto LAB_00131938;" (goto "goto") (statement_identifier "LAB_00131938") (; ";"))) (} "}")) (else_clause "else {\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }\n  }" (else "else") (compound_statement "{\n    fwrite("EXCLUDE_FILE(",1,0xd,param_2);\n    puVar3 = *(undefined4 **)(param_1 + 0x24);\n    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }\n    fputc(0x29,param_2);\n    puVar4 = *(undefined4 **)(param_1 + 0x30);\n    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\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 = *(undefined4 **)(param_1 + 0x24);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x24)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }" (if "if") (parenthesized_expression "(puVar3 != *(undefined4 **)(param_1 + 0x28))" (( "(") (binary_expression "puVar3 != *(undefined4 **)(param_1 + 0x28)" (identifier "puVar3") (!= "!=") (pointer_expression "*(undefined4 **)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n      while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }\n    }" ({ "{") (while_statement "while( true ) {\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        fputs((char *)*puVar3,param_2);\n        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;\n        fwrite(", ",1,2,param_2);\n        puVar3 = puVar3 + 7;\n      }" ({ "{") (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") () ")"))) (; ";")) (if_statement "if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;" (if "if") (parenthesized_expression "(*(undefined4 **)(param_1 + 0x28) == puVar3 + 7)" (( "(") (binary_expression "*(undefined4 **)(param_1 + 0x28) == puVar3 + 7" (pointer_expression "*(undefined4 **)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (binary_expression "puVar3 + 7" (identifier "puVar3") (+ "+") (number_literal "7"))) () ")")) (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 "puVar3 = puVar3 + 7;" (assignment_expression "puVar3 = puVar3 + 7" (identifier "puVar3") (= "=") (binary_expression "puVar3 + 7" (identifier "puVar3") (+ "+") (number_literal "7"))) (; ";")) (} "}"))) (} "}"))) (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 "puVar4 = *(undefined4 **)(param_1 + 0x30);" (assignment_expression "puVar4 = *(undefined4 **)(param_1 + 0x30)" (identifier "puVar4") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (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 (*(undefined4 **)(param_1 + 0x34) != puVar4) {\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }" (if "if") (parenthesized_expression "(*(undefined4 **)(param_1 + 0x34) != puVar4)" (( "(") (binary_expression "*(undefined4 **)(param_1 + 0x34) != puVar4" (pointer_expression "*(undefined4 **)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (identifier "puVar4")) () ")")) (compound_statement "{\nLAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));\n    }" ({ "{") (labeled_statement "LAB_0013198f:\n      do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));" (statement_identifier "LAB_0013198f") (: ":") (do_statement "do {\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\n        fputc(0x29,param_2);\n      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));" (do "do") (compound_statement "{\n        fputc(0x20,param_2);\n        puVar3 = puVar4;\nLAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }\n        puVar4 = puVar3 + 8;\n        fwrite(pcVar2,1,__n,param_2);\n        fputs((char *)*puVar3,param_2);\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") () ")"))) (; ";")) (expression_statement "puVar3 = puVar4;" (assignment_expression "puVar3 = puVar4" (identifier "puVar3") (= "=") (identifier "puVar4")) (; ";")) (labeled_statement "LAB_00131938:\n        switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }" (statement_identifier "LAB_00131938") (: ":") (switch_statement "switch(puVar3[7]) {\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }" (switch "switch") (parenthesized_expression "(puVar3[7])" (( "(") (subscript_expression "puVar3[7]" (identifier "puVar3") ([ "[") (number_literal "7") (] "]")) () ")")) (compound_statement "{\n        case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;\n        case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;\n        case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;\n        case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;\n        case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;\n        case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;\n        default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");\n        }" ({ "{") (case_statement "case 0:\n          fputs((char *)*puVar3,param_2);\n          goto code_r0x00131987;" (case "case") (number_literal "0") (: ":") (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 code_r0x00131987;" (goto "goto") (statement_identifier "code_r0x00131987") (; ";"))) (case_statement "case 1:\n          pcVar2 = "SORT_BY_NAME(";\n          __n = 0xd;\n          break;" (case "case") (number_literal "1") (: ":") (expression_statement "pcVar2 = "SORT_BY_NAME(";" (assignment_expression "pcVar2 = "SORT_BY_NAME("" (identifier "pcVar2") (= "=") (string_literal ""SORT_BY_NAME("" (" """) (string_content "SORT_BY_NAME(") (" """))) (; ";")) (expression_statement "__n = 0xd;" (assignment_expression "__n = 0xd" (identifier "__n") (= "=") (number_literal "0xd")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n          pcVar2 = "SORT_BY_ALIGNMENT(";\n          __n = 0x12;\n          break;" (case "case") (number_literal "2") (: ":") (expression_statement "pcVar2 = "SORT_BY_ALIGNMENT(";" (assignment_expression "pcVar2 = "SORT_BY_ALIGNMENT("" (identifier "pcVar2") (= "=") (string_literal ""SORT_BY_ALIGNMENT("" (" """) (string_content "SORT_BY_ALIGNMENT(") (" """))) (; ";")) (expression_statement "__n = 0x12;" (assignment_expression "__n = 0x12" (identifier "__n") (= "=") (number_literal "0x12")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";\n          goto code_r0x0013195b;" (case "case") (number_literal "3") (: ":") (expression_statement "pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";" (assignment_expression "pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT("" (identifier "pcVar2") (= "=") (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" (" """) (string_content "SORT_BY_NAME(SORT_BY_ALIGNMENT(") (" """))) (; ";")) (goto_statement "goto code_r0x0013195b;" (goto "goto") (statement_identifier "code_r0x0013195b") (; ";"))) (case_statement "case 4:\n          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";\ncode_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);\n          fputs((char *)*puVar3,param_2);\n          fputc(0x29,param_2);\n          fputc(0x29,param_2);\ncode_r0x00131987:\n          puVar4 = puVar3 + 8;\n          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;\n          goto LAB_0013198f;" (case "case") (number_literal "4") (: ":") (expression_statement "pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";" (assignment_expression "pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME("" (identifier "pcVar2") (= "=") (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" (" """) (string_content "SORT_BY_ALIGNMENT(SORT_BY_NAME(") (" """))) (; ";")) (labeled_statement "code_r0x0013195b:\n          fwrite(pcVar2,1,0x1f,param_2);" (statement_identifier "code_r0x0013195b") (: ":") (expression_statement "fwrite(pcVar2,1,0x1f,param_2);" (call_expression "fwrite(pcVar2,1,0x1f,param_2)" (identifier "fwrite") (argument_list "(pcVar2,1,0x1f,param_2)" (( "(") (identifier "pcVar2") (, ",") (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") () ")"))) (; ";")) (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(0x29,param_2);" (call_expression "fputc(0x29,param_2)" (identifier "fputc") (argument_list "(0x29,param_2)" (( "(") (number_literal "0x29") (, ",") (identifier "param_2") () ")"))) (; ";")) (labeled_statement "code_r0x00131987:\n          puVar4 = puVar3 + 8;" (statement_identifier "code_r0x00131987") (: ":") (expression_statement "puVar4 = puVar3 + 8;" (assignment_expression "puVar4 = puVar3 + 8" (identifier "puVar4") (= "=") (binary_expression "puVar3 + 8" (identifier "puVar3") (+ "+") (number_literal "8"))) (; ";"))) (if_statement "if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;" (if "if") (parenthesized_expression "(puVar4 == *(undefined4 **)(param_1 + 0x34))" (( "(") (binary_expression "puVar4 == *(undefined4 **)(param_1 + 0x34)" (identifier "puVar4") (== "==") (pointer_expression "*(undefined4 **)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (goto_statement "goto LAB_001319e5;" (goto "goto") (statement_identifier "LAB_001319e5") (; ";"))) (goto_statement "goto LAB_0013198f;" (goto "goto") (statement_identifier "LAB_0013198f") (; ";"))) (case_statement "case 5:\n          pcVar2 = "SORT_BY_INIT_PRIORITY(";\n          __n = 0x16;\n          break;" (case "case") (number_literal "5") (: ":") (expression_statement "pcVar2 = "SORT_BY_INIT_PRIORITY(";" (assignment_expression "pcVar2 = "SORT_BY_INIT_PRIORITY("" (identifier "pcVar2") (= "=") (string_literal ""SORT_BY_INIT_PRIORITY("" (" """) (string_content "SORT_BY_INIT_PRIORITY(") (" """))) (; ";")) (expression_statement "__n = 0x16;" (assignment_expression "__n = 0x16" (identifier "__n") (= "=") (number_literal "0x16")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n                    \n          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");" (default "default") (: ":") (expression_statement "FUN_0008b620("../../gold/script-sections.cc",0x780,"print");" (call_expression "FUN_0008b620("../../gold/script-sections.cc",0x780,"print")" (identifier "FUN_0008b620") (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 "puVar4 = puVar3 + 8;" (assignment_expression "puVar4 = puVar3 + 8" (identifier "puVar4") (= "=") (binary_expression "puVar3 + 8" (identifier "puVar3") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "fwrite(pcVar2,1,__n,param_2);" (call_expression "fwrite(pcVar2,1,__n,param_2)" (identifier "fwrite") (argument_list "(pcVar2,1,__n,param_2)" (( "(") (identifier "pcVar2") (, ",") (number_literal "1") (, ",") (identifier "__n") (, ",") (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") () ")"))) (; ";")) (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 "(puVar4 != *(undefined4 **)(param_1 + 0x34))" (( "(") (binary_expression "puVar4 != *(undefined4 **)(param_1 + 0x34)" (identifier "puVar4") (!= "!=") (pointer_expression "*(undefined4 **)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (; ";"))) (} "}"))) (} "}")))) (labeled_statement "LAB_001319e5:\n  fputc(0x29,param_2);" (statement_identifier "LAB_001319e5") (: ":") (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 + 0x3c);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x3c)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(param_1 + 0x3c)" (* "*") (cast_expression "(char *)(param_1 + 0x3c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (labeled_statement "joined_r0x00131a6f:\n  if (cVar1 != '\0') {\n    fputc(0x29,param_2);\n  }" (statement_identifier "joined_r0x00131a6f") (: ":") (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") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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_15;
  char *pcVar2;
  type_3 var_13;
  type_3 var_12;
  type_3 var_14;
  size_t __n;
  
  var_1(&DAT_002611ac,1,4,(type_2 *)f);
  if (this->keep_ != false) {
    var_1("KEEP(",1,5,(type_2 *)f);
  }
  if ((this->filename_pattern_)._M_string_length == 0) {
LAB_001318ac:
    if ((this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_2,_std::var_4<gold::type_1::var_2>var_3>
        ._M_impl._M_start ==
        (this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_2,_std::var_4<gold::type_1::var_2>var_3>
        ._M_impl._M_finish) {
LAB_00131a5f:
      if ((this->filename_exclusions_).
          super__Vector_base<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>,_std::var_4<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>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_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>,_std::var_4<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>var_3>var_3>
          ._M_impl._M_finish) {
        var_15 = this->keep_;
        goto joined_r0x00131a6f;
      }
    }
  }
  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_1("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_001318ac;
    }
    var_10((this->filename_pattern_)._M_dataplus._M_p,(type_2 *)f);
    if ((this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_2,_std::var_4<gold::type_1::var_2>var_3>
        ._M_impl._M_start ==
        (this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_2,_std::var_4<gold::type_1::var_2>var_3>
        ._M_impl._M_finish) goto LAB_00131a5f;
  }
  var_11(0x28,(type_2 *)f);
  if ((this->filename_exclusions_).
      super__Vector_base<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>,_std::var_4<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>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_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>,_std::var_4<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>var_3>var_3>
      ._M_impl._M_finish) {
    var_12 = (this->input_section_patterns_).
             super__Vector_base<gold::Output_section_element_input::var_2,_std::var_4<gold::Output_section_element_input::var_2>var_3>
             ._M_impl._M_start;
    if ((this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_2,_std::var_4<gold::type_1::var_2>var_3>
        ._M_impl._M_finish != var_12) goto LAB_00131938;
  }
  else {
    var_1("EXCLUDE_FILE(",1,0xd,(type_2 *)f);
    var_13 = (this->filename_exclusions_).
             super__Vector_base<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>,_std::var_4<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>var_3>var_3>
             ._M_impl._M_start;
    if (var_13 != (this->filename_exclusions_).
                  super__Vector_base<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>,_std::var_4<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>var_3>var_3>
                  ._M_impl._M_finish) {
      while( true ) {
        var_10((var_13->first)._M_dataplus._M_p,(type_2 *)f);
        if ((this->filename_exclusions_).
            super__Vector_base<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>,_std::var_4<std::pair<std::__cxx11::basic_string<var_5,_std::char_traits<var_5>,_std::var_4<var_5>var_3>,var_6>var_3>var_3>
            ._M_impl._M_finish == var_13 + 1) break;
        var_1(", ",1,2,(type_2 *)f);
        var_13 = var_13 + 1;
      }
    }
    var_11(0x29,(type_2 *)f);
    var_14 = (this->input_section_patterns_).
             super__Vector_base<gold::Output_section_element_input::var_2,_std::var_4<gold::Output_section_element_input::var_2>var_3>
             ._M_impl._M_start;
    if ((this->input_section_patterns_).
        super__Vector_base<gold::type_1::var_2,_std::var_4<gold::type_1::var_2>var_3>
        ._M_impl._M_finish != var_14) {
LAB_0013198f:
      do {
        var_11(0x20,(type_2 *)f);
        var_12 = var_14;
LAB_00131938:
        switch(var_12->sort) {
        case var_7:
          var_10((var_12->pattern)._M_dataplus._M_p,(type_2 *)f);
          goto LAB_00131987;
        case var_8:
          pcVar2 = "SORT_BY_NAME(";
          __n = 0xd;
          break;
        case SORT_WILDCARD_BY_ALIGNMENT:
          pcVar2 = "SORT_BY_ALIGNMENT(";
          __n = 0x12;
          break;
        case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:
          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";
          goto LAB_0013195b;
        case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:
          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";
LAB_0013195b:
          var_1(pcVar2,1,0x1f,(type_2 *)f);
          var_10((var_12->pattern)._M_dataplus._M_p,(type_2 *)f);
          var_11(0x29,(type_2 *)f);
          var_11(0x29,(type_2 *)f);
LAB_00131987:
          var_14 = var_12 + 1;
          if (var_14 == (this->input_section_patterns_).
                        super__Vector_base<gold::type_1::var_2,_std::var_4<gold::type_1::var_2>var_3>
                        ._M_impl._M_finish) goto LAB_001319e5;
          goto LAB_0013198f;
        case SORT_WILDCARD_BY_INIT_PRIORITY:
          pcVar2 = "SORT_BY_INIT_PRIORITY(";
          __n = 0x16;
          break;
        default:
                    /* WARNING: Subroutine does not return */
          var_9("../../gold/script-sections.cc",0x780,"print");
        }
        var_14 = var_12 + 1;
        var_1(pcVar2,1,__n,(type_2 *)f);
        var_10((var_12->pattern)._M_dataplus._M_p,(type_2 *)f);
        var_11(0x29,(type_2 *)f);
      } while (var_14 != (this->input_section_patterns_).
                         super__Vector_base<gold::type_1::var_2,_std::var_4<gold::type_1::var_2>var_3>
                         ._M_impl._M_finish);
    }
  }
LAB_001319e5:
  var_11(0x29,(type_2 *)f);
  var_15 = this->keep_;
joined_r0x00131a6f:
  if (var_15 != '\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: (primitive_type) 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))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (primitive_type) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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))))))) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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))))))) 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)) (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)))))))))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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))))))) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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))))))) 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: (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: (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 (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)))) (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: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_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: (binary_expression left: (identifier) right: (number_literal)))))))) (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: (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: (compound_statement (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (switch_statement condition: (parenthesized_expression (subscript_expression argument: (identifier) index: (number_literal))) body: (compound_statement (case_statement value: (number_literal) (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 (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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 (identifier) (number_literal) (identifier) (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)))) (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))))

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

void MASKED(int param_1,FILE *param_2)

{
  char cVar1;
  char *pcVar2;
  undefined4 *puVar3;
  undefined4 *puVar4;
  size_t __n;
  
  fwrite(&DAT_002611ac,1,4,param_2);
  if (*(char *)(param_1 + 0x3c) != '\0') {
    fwrite("KEEP(",1,5,param_2);
  }
  if (*(int *)(param_1 + 8) == 0) {
LAB_001318ac:
    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) {
LAB_00131a5f:
      if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {
        cVar1 = *(char *)(param_1 + 0x3c);
        goto joined_r0x00131a6f;
      }
    }
  }
  else {
    if (*(int *)(param_1 + 0x20) != 0) {
      if (*(int *)(param_1 + 0x20) != 1) {
                    /* WARNING: Subroutine does not return */
        FUN_0008b620("../../gold/script-sections.cc",0x73d,"print",*(int *)(param_1 + 8));
      }
      fwrite("SORT_BY_NAME(",1,0xd,param_2);
      fputs(*(char **)(param_1 + 4),param_2);
      fputc(0x29,param_2);
      goto LAB_001318ac;
    }
    fputs(*(char **)(param_1 + 4),param_2);
    if (*(int *)(param_1 + 0x30) == *(int *)(param_1 + 0x34)) goto LAB_00131a5f;
  }
  fputc(0x28,param_2);
  if (*(int *)(param_1 + 0x24) == *(int *)(param_1 + 0x28)) {
    puVar3 = *(undefined4 **)(param_1 + 0x30);
    if (*(undefined4 **)(param_1 + 0x34) != puVar3) goto LAB_00131938;
  }
  else {
    fwrite("EXCLUDE_FILE(",1,0xd,param_2);
    puVar3 = *(undefined4 **)(param_1 + 0x24);
    if (puVar3 != *(undefined4 **)(param_1 + 0x28)) {
      while( true ) {
        fputs((char *)*puVar3,param_2);
        if (*(undefined4 **)(param_1 + 0x28) == puVar3 + 7) break;
        fwrite(", ",1,2,param_2);
        puVar3 = puVar3 + 7;
      }
    }
    fputc(0x29,param_2);
    puVar4 = *(undefined4 **)(param_1 + 0x30);
    if (*(undefined4 **)(param_1 + 0x34) != puVar4) {
LAB_0013198f:
      do {
        fputc(0x20,param_2);
        puVar3 = puVar4;
LAB_00131938:
        switch(puVar3[7]) {
        case 0:
          fputs((char *)*puVar3,param_2);
          goto code_r0x00131987;
        case 1:
          pcVar2 = "SORT_BY_NAME(";
          __n = 0xd;
          break;
        case 2:
          pcVar2 = "SORT_BY_ALIGNMENT(";
          __n = 0x12;
          break;
        case 3:
          pcVar2 = "SORT_BY_NAME(SORT_BY_ALIGNMENT(";
          goto code_r0x0013195b;
        case 4:
          pcVar2 = "SORT_BY_ALIGNMENT(SORT_BY_NAME(";
code_r0x0013195b:
          fwrite(pcVar2,1,0x1f,param_2);
          fputs((char *)*puVar3,param_2);
          fputc(0x29,param_2);
          fputc(0x29,param_2);
code_r0x00131987:
          puVar4 = puVar3 + 8;
          if (puVar4 == *(undefined4 **)(param_1 + 0x34)) goto LAB_001319e5;
          goto LAB_0013198f;
        case 5:
          pcVar2 = "SORT_BY_INIT_PRIORITY(";
          __n = 0x16;
          break;
        default:
                    /* WARNING: Subroutine does not return */
          FUN_0008b620("../../gold/script-sections.cc",0x780,"print");
        }
        puVar4 = puVar3 + 8;
        fwrite(pcVar2,1,__n,param_2);
        fputs((char *)*puVar3,param_2);
        fputc(0x29,param_2);
      } while (puVar4 != *(undefined4 **)(param_1 + 0x34));
    }
  }
LAB_001319e5:
  fputc(0x29,param_2);
  cVar1 = *(char *)(param_1 + 0x3c);
joined_r0x00131a6f:
  if (cVar1 != '\0') {
    fputc(0x29,param_2);
  }
  fputc(10,param_2);
  return;
}

