
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original name: scan_relocatable_relocs<32, true,
   gold::Default_emit_relocs_strategy<gold::Default_classify_reloc<4, 32, true> > > */

void gold::
     scan_relocatable_relocs<32,_true,_gold::Default_emit_relocs_strategy<gold::Default_classify_reloc<4,_32,_true>_>_>
               (Symbol_table *param_1,Layout *param_2,Sized_relobj_file<32,_true> *object,
               uint data_shndx,uchar *prelocs,size_t reloc_count,Output_section *output_section,
               bool needs_special_offset_handling,size_t param_9,uchar *plocal_syms,
               Relocatable_relocs *rr)

{
  byte bVar1;
  _func_int_varargs *p_Var2;
  pointer ppOVar3;
  pointer pSVar4;
  bool bVar5;
  ushort uVar6;
  int iVar7;
  ulong uVar8;
  undefined4 extraout_var;
  Xindex *this;
  uint uVar10;
  uint uVar11;
  size_t sVar12;
  ulong uVar13;
  uchar local_39 [9];
  Output_section *pOVar9;
  undefined4 extraout_var_00;
  
  if (reloc_count != 0) {
    sVar12 = 0;
    do {
      while (needs_special_offset_handling) {
        uVar11 = *(uint *)prelocs;
        bVar5 = Output_section::is_input_address_mapped
                          (output_section,(Relobj *)object,data_shndx,
                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |
                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18));
        if (bVar5) break;
LAB_001bd0f0:
        sVar12 = sVar12 + 1;
        local_39[0] = '\b';
        prelocs = (uchar *)((long)prelocs + 0xc);
        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>
                  (&rr->reloc_strategies_,local_39);
        if (reloc_count == sVar12) {
          return;
        }
      }
      uVar11 = *(uint *)((long)prelocs + 4);
      uVar11 = ((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18) >> 8;
      uVar13 = (ulong)uVar11;
      if (uVar13 < param_9) {
        if (plocal_syms == (uchar *)0x0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");
        }
        uVar10 = uVar11 << 4;
        uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |
                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8;
        uVar8 = (ulong)uVar6;
        if (uVar6 < 0xff00) {
LAB_001bd152:
          if ((int)uVar8 == 0) goto LAB_001bd063;
          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start;
          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");
          }
          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;
          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];
        }
        else {
          if (uVar6 == 0xffff) {
            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;
            if (this == (Xindex *)0x0) {
              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.
                        _vptr_Object[0x1b])(object);
              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);
              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;
            }
            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);
            uVar8 = (ulong)uVar11;
            goto LAB_001bd152;
          }
LAB_001bd063:
          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];
        }
        if ((bVar1 & 0xf) == 3) {
          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object
                   [0x18];
          if (p_Var2 == Relobj::do_output_section) {
            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                      ._M_impl._M_start;
            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");
            }
            pOVar9 = ppOVar3[uVar8];
          }
          else {
            iVar7 = (*p_Var2)(object,uVar8);
            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);
          }
          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;
          local_39[0] = '\x01';
          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>
                    (&rr->reloc_strategies_,local_39);
        }
        else {
          pSVar4 = (object->local_values_).
                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                   ._M_impl._M_start;
          if ((ulong)(((long)(object->local_values_).
                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=
              uVar13) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");
          }
          pSVar4 = pSVar4 + uVar13;
          uVar11 = pSVar4->output_symtab_index_;
          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");
          }
          pSVar4->output_symtab_index_ = 0xfffffffe;
          local_39[0] = '\0';
          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>
                    (&rr->reloc_strategies_,local_39);
        }
      }
      else {
        local_39[0] = '\0';
        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>
                  (&rr->reloc_strategies_,local_39);
      }
      sVar12 = sVar12 + 1;
      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;
      prelocs = (uchar *)((long)prelocs + 0xc);
    } while (reloc_count != sVar12);
  }
  return;
}



void FUN_001bcfa0(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,
                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,
                 long param_10,long param_11)

{
  int *piVar1;
  byte bVar2;
  int iVar3;
  char cVar4;
  ushort uVar5;
  uint uVar6;
  long lVar7;
  long lVar8;
  uint uVar9;
  long lVar10;
  ulong uVar11;
  undefined1 local_39 [9];
  
  if (param_6 != 0) {
    lVar10 = 0;
    do {
      while (param_8 != '\0') {
        uVar9 = *param_5;
        cVar4 = FUN_00267280(param_7,param_3,param_4,
                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                             uVar9 << 0x18);
        if (cVar4 != '\0') break;
LAB_001bd0f0:
        lVar10 = lVar10 + 1;
        local_39[0] = 8;
        param_5 = param_5 + 3;
        FUN_001bbe80(param_11,local_39);
        if (param_6 == lVar10) {
          return;
        }
      }
      uVar9 = param_5[1];
      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;
      uVar11 = (ulong)uVar9;
      if (uVar11 < param_9) {
        if (param_10 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");
        }
        lVar8 = (ulong)(uVar9 << 4) + param_10;
        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;
        uVar6 = (uint)uVar5;
        if (uVar5 < 0xff00) {
LAB_001bd152:
          if (uVar6 == 0) goto LAB_001bd063;
          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");
          }
          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;
          bVar2 = *(byte *)(lVar8 + 0xc);
        }
        else {
          if (uVar5 == 0xffff) {
            lVar7 = param_3[8];
            if (lVar7 == 0) {
              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);
              param_3[8] = lVar7;
            }
            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);
            goto LAB_001bd152;
          }
LAB_001bd063:
          bVar2 = *(byte *)(lVar8 + 0xc);
        }
        if ((bVar2 & 0xf) == 3) {
          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {
            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");
            }
            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);
          }
          else {
            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);
          }
          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;
          local_39[0] = 1;
          FUN_001bbe80(param_11,local_39);
        }
        else {
          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");
          }
          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);
          iVar3 = *piVar1;
          if ((iVar3 != 0) && (iVar3 != -2)) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");
          }
          *piVar1 = -2;
          local_39[0] = 0;
          FUN_001bbe80(param_11,local_39);
        }
      }
      else {
        local_39[0] = 0;
        FUN_001bbe80(param_11,local_39);
      }
      lVar10 = lVar10 + 1;
      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;
      param_5 = param_5 + 3;
    } while (param_6 != lVar10);
  }
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x38
LEA RAX,[RSP + 0x2f]
MOV dword ptr [RSP + 0x18],ECX
MOV RBP,qword ptr [RSP + 0x90]
MOVZX R14D,byte ptr [RSP + 0x78]
MOV qword ptr [RSP],RAX
TEST R9,R9
JZ 0x001bd112
MOV R12,RDX
MOV R15,R8
MOV R13,R9
XOR EBX,EBX
JMP 0x001bd007
MOV RSI,qword ptr [RSP]
MOV RDI,RBP
MOV byte ptr [RSP + 0x2f],0x0
CALL 0x001bbe80
ADD RBX,0x1
ADD qword ptr [RBP + 0x18],0x1
ADD R15,0xc
CMP R13,RBX
JZ 0x001bd112
TEST R14B,R14B
JNZ 0x001bd0d0
MOV EDX,dword ptr [R15 + 0x4]
BSWAP EDX
SHR EDX,0x8
MOV R9D,EDX
CMP R9,qword ptr [RSP + 0x80]
JNC 0x001bcfe0
CMP qword ptr [RSP + 0x88],0x0
JZ 0x001bd23e
MOV ECX,EDX
SHL ECX,0x4
ADD RCX,qword ptr [RSP + 0x88]
MOVZX EAX,word ptr [RCX + 0xe]
ROL AX,0x8
MOVZX EAX,AX
CMP EAX,0xfeff
JBE 0x001bd152
CMP EAX,0xffff
JZ 0x001bd128
MOVZX EDX,byte ptr [RCX + 0xc]
AND EDX,0xf
CMP DL,0x3
JNZ 0x001bd198
MOV RDX,qword ptr [R12]
LEA RSI,[0x1b9cb0]
MOV RDX,qword ptr [RDX + 0xc0]
CMP RDX,RSI
JNZ 0x001bd1f8
MOV RCX,qword ptr [R12 + 0x50]
MOV RDX,qword ptr [R12 + 0x58]
MOV EAX,EAX
SUB RDX,RCX
SAR RDX,0x3
CMP RAX,RDX
JNC 0x001bd26e
MOV RAX,qword ptr [RCX + RAX*0x8]
OR byte ptr [RAX + 0xc8],0x1
MOV RSI,qword ptr [RSP]
MOV RDI,RBP
MOV byte ptr [RSP + 0x2f],0x1
CALL 0x001bbe80
JMP 0x001bcff1
MOV ECX,dword ptr [R15]
MOV EDX,dword ptr [RSP + 0x18]
MOV RSI,R12
MOV RDI,qword ptr [RSP + 0x70]
BSWAP ECX
MOV ECX,ECX
CALL 0x00267280
TEST AL,AL
JNZ 0x001bd010
MOV RSI,qword ptr [RSP]
MOV RDI,RBP
ADD RBX,0x1
MOV byte ptr [RSP + 0x2f],0x8
ADD R15,0xc
CALL 0x001bbe80
CMP R13,RBX
JNZ 0x001bd007
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RDI,qword ptr [R12 + 0x40]
TEST RDI,RDI
JZ 0x001bd208
MOV RSI,R12
MOV qword ptr [RSP + 0x10],RCX
MOV qword ptr [RSP + 0x8],R9
CALL 0x0022a020
MOV RCX,qword ptr [RSP + 0x10]
MOV R9,qword ptr [RSP + 0x8]
TEST EAX,EAX
JZ 0x001bd063
MOV RSI,qword ptr [R12 + 0x50]
MOV RDX,qword ptr [R12 + 0x58]
MOV EDI,EAX
SUB RDX,RSI
SAR RDX,0x3
CMP RDI,RDX
JNC 0x001bd29e
CMP qword ptr [RSI + RDI*0x8],0x0
JZ 0x001bd0f0
MOVZX EDX,byte ptr [RCX + 0xc]
AND EDX,0xf
CMP DL,0x3
JZ 0x001bd073
NOP dword ptr [RAX]
MOV RDX,qword ptr [R12 + 0x160]
MOV RAX,qword ptr [R12 + 0x168]
MOV RDI,-0x5555555555555555
SUB RAX,RDX
SAR RAX,0x3
IMUL RAX,RDI
CMP R9,RAX
JNC 0x001bd286
LEA RAX,[R9 + R9*0x2]
LEA RAX,[RDX + RAX*0x8]
MOV EDX,dword ptr [RAX]
TEST EDX,EDX
JZ 0x001bd1d9
CMP EDX,-0x2
JNZ 0x001bd256
MOV dword ptr [RAX],0xfffffffe
MOV RSI,qword ptr [RSP]
MOV RDI,RBP
MOV byte ptr [RSP + 0x2f],0x0
CALL 0x001bbe80
JMP 0x001bcff1
MOV ESI,EAX
MOV RDI,R12
CALL RDX
JMP 0x001bd0ae
MOV RAX,qword ptr [R12]
MOV dword ptr [RSP + 0x1c],EDX
MOV RDI,R12
MOV qword ptr [RSP + 0x10],RCX
MOV qword ptr [RSP + 0x8],R9
CALL qword ptr [RAX + 0xd8]
MOV EDX,dword ptr [RSP + 0x1c]
MOV RCX,qword ptr [RSP + 0x10]
MOV RDI,RAX
MOV qword ptr [R12 + 0x40],RAX
MOV R9,qword ptr [RSP + 0x8]
JMP 0x001bd136
LEA RDX,[0x3dc030]
MOV ESI,0x2e4
LEA RDI,[0x3de5c2]
CALL 0x001e9890
LEA RDX,[0x3dc500]
MOV ESI,0x71f
LEA RDI,[0x3de3f5]
CALL 0x001e9890
LEA RDX,[0x3dd890]
MOV ESI,0x5c8
LEA RDI,[0x3de3f5]
CALL 0x001e9890
LEA RDX,[0x3dc000]
MOV ESI,0x8e3
LEA RDI,[0x3de3f5]
CALL 0x001e9890
LEA RDX,[0x3dd7d0]
MOV ESI,0x50b
LEA RDI,[0x3de3f5]
CALL 0x001e9890
(translation_unit "void FUN_001bcfa0(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)\n\n{\n  int *piVar1;\n  byte bVar2;\n  int iVar3;\n  char cVar4;\n  ushort uVar5;\n  uint uVar6;\n  long lVar7;\n  long lVar8;\n  uint uVar9;\n  long lVar10;\n  ulong uVar11;\n  undefined1 local_39 [9];\n  \n  if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }\n  return;\n}\n\n" (function_definition "void FUN_001bcfa0(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)\n\n{\n  int *piVar1;\n  byte bVar2;\n  int iVar3;\n  char cVar4;\n  ushort uVar5;\n  uint uVar6;\n  long lVar7;\n  long lVar8;\n  uint uVar9;\n  long lVar10;\n  ulong uVar11;\n  undefined1 local_39 [9];\n  \n  if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001bcfa0(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "uint *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) , (parameter_declaration "char param_8" primitive_type identifier) , (parameter_declaration "ulong param_9" type_identifier identifier) , (parameter_declaration "long param_10" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_11" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  int *piVar1;\n  byte bVar2;\n  int iVar3;\n  char cVar4;\n  ushort uVar5;\n  uint uVar6;\n  long lVar7;\n  long lVar8;\n  uint uVar9;\n  long lVar10;\n  ulong uVar11;\n  undefined1 local_39 [9];\n  \n  if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "ushort uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "undefined1 local_39 [9];" type_identifier (array_declarator "local_39 [9]" identifier [ number_literal ]) ;) (if_statement "if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }" { (expression_statement "lVar10 = 0;" (assignment_expression "lVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);" do (compound_statement "{\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    }" { (while_statement "while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }" while (parenthesized_expression "(param_8 != '\0')" ( (binary_expression "param_8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }" { (expression_statement "uVar9 = *param_5;" (assignment_expression "uVar9 = *param_5" identifier = (pointer_expression "*param_5" * identifier)) ;) (expression_statement "cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);" (assignment_expression "cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18)" identifier = (call_expression "FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18)" identifier (argument_list "(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18)" ( identifier , identifier , identifier , (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (cVar4 != '\0') break;" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001bd0f0:\n        lVar10 = lVar10 + 1;" statement_identifier : (expression_statement "lVar10 = lVar10 + 1;" (assignment_expression "lVar10 = lVar10 + 1" identifier = (binary_expression "lVar10 + 1" identifier + number_literal)) ;)) (expression_statement "local_39[0] = 8;" (assignment_expression "local_39[0] = 8" (subscript_expression "local_39[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" identifier = (binary_expression "param_5 + 3" identifier + number_literal)) ;) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" identifier (argument_list "(param_11,local_39)" ( identifier , identifier ))) ;) (if_statement "if (param_6 == lVar10) {\n          return;\n        }" if (parenthesized_expression "(param_6 == lVar10)" ( (binary_expression "param_6 == lVar10" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "uVar9 = param_5[1];" (assignment_expression "uVar9 = param_5[1]" identifier = (subscript_expression "param_5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;" (assignment_expression "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" identifier = (binary_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (parenthesized_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18)" ( (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "uVar11 = (ulong)uVar9;" (assignment_expression "uVar11 = (ulong)uVar9" identifier = (cast_expression "(ulong)uVar9" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }" if (parenthesized_expression "(uVar11 < param_9)" ( (binary_expression "uVar11 < param_9" identifier < identifier) )) (compound_statement "{\n        if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }" { (if_statement "if (param_10 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" if (parenthesized_expression "(param_10 == 0)" ( (binary_expression "param_10 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" { comment (expression_statement "FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");" (call_expression "FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" identifier (argument_list "("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""scan_relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "lVar8 = (ulong)(uVar9 << 4) + param_10;" (assignment_expression "lVar8 = (ulong)(uVar9 << 4) + param_10" identifier = (binary_expression "(ulong)(uVar9 << 4) + param_10" (call_expression "(ulong)(uVar9 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 << 4)" ( (binary_expression "uVar9 << 4" identifier << number_literal) ))) + identifier)) ;) (expression_statement "uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;" (assignment_expression "uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8" identifier = (binary_expression "*(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8" (binary_expression "*(ushort *)(lVar8 + 0xe) << 8" (pointer_expression "*(ushort *)(lVar8 + 0xe)" * (cast_expression "(ushort *)(lVar8 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0xe)" ( (binary_expression "lVar8 + 0xe" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar8 + 0xe) >> 8" (pointer_expression "*(ushort *)(lVar8 + 0xe)" * (cast_expression "(ushort *)(lVar8 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0xe)" ( (binary_expression "lVar8 + 0xe" identifier + number_literal) )))) >> number_literal))) ;) (expression_statement "uVar6 = (uint)uVar5;" (assignment_expression "uVar6 = (uint)uVar5" identifier = (cast_expression "(uint)uVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" if (parenthesized_expression "(uVar5 < 0xff00)" ( (binary_expression "uVar5 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" { (labeled_statement "LAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;" statement_identifier : (if_statement "if (uVar6 == 0) goto LAB_001bd063;" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001bd063;" goto statement_identifier ;))) (if_statement "if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(param_3[0xb] - param_3[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3[0xb] - param_3[10] >> 3)" ( (binary_expression "param_3[0xb] - param_3[10] >> 3" (binary_expression "param_3[0xb] - param_3[10]" (subscript_expression "param_3[0xb]" identifier [ number_literal ]) - (subscript_expression "param_3[10]" identifier [ number_literal ])) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }" { comment (expression_statement "FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_001e9890("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;" if (parenthesized_expression "(*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0)" ( (binary_expression "*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0" (pointer_expression "*(long *)(param_3[10] + (ulong)uVar6 * 8)" * (cast_expression "(long *)(param_3[10] + (ulong)uVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[10] + (ulong)uVar6 * 8)" ( (binary_expression "param_3[10] + (ulong)uVar6 * 8" (subscript_expression "param_3[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_001bd0f0;" goto statement_identifier ;)) (expression_statement "bVar2 = *(byte *)(lVar8 + 0xc);" (assignment_expression "bVar2 = *(byte *)(lVar8 + 0xc)" identifier = (pointer_expression "*(byte *)(lVar8 + 0xc)" * (cast_expression "(byte *)(lVar8 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0xc)" ( (binary_expression "lVar8 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" else (compound_statement "{\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" { (if_statement "if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }" if (parenthesized_expression "(uVar5 == 0xffff)" ( (binary_expression "uVar5 == 0xffff" identifier == number_literal) )) (compound_statement "{\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }" { (expression_statement "lVar7 = param_3[8];" (assignment_expression "lVar7 = param_3[8]" identifier = (subscript_expression "param_3[8]" identifier [ number_literal ])) ;) (if_statement "if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }" { (expression_statement "lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);" (assignment_expression "lVar7 = (**(code **)(*param_3 + 0xd8))(param_3)" identifier = (call_expression "(**(code **)(*param_3 + 0xd8))(param_3)" (parenthesized_expression "(**(code **)(*param_3 + 0xd8))" ( (pointer_expression "**(code **)(*param_3 + 0xd8)" * (pointer_expression "*(code **)(*param_3 + 0xd8)" * (cast_expression "(code **)(*param_3 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0xd8)" ( (binary_expression "*param_3 + 0xd8" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "param_3[8] = lVar7;" (assignment_expression "param_3[8] = lVar7" (subscript_expression "param_3[8]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar6 = FUN_0022a020(lVar7,param_3,uVar9);" (assignment_expression "uVar6 = FUN_0022a020(lVar7,param_3,uVar9)" identifier = (call_expression "FUN_0022a020(lVar7,param_3,uVar9)" identifier (argument_list "(lVar7,param_3,uVar9)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_001bd152;" goto statement_identifier ;) })) (labeled_statement "LAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);" statement_identifier : (expression_statement "bVar2 = *(byte *)(lVar8 + 0xc);" (assignment_expression "bVar2 = *(byte *)(lVar8 + 0xc)" identifier = (pointer_expression "*(byte *)(lVar8 + 0xc)" * (cast_expression "(byte *)(lVar8 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0xc)" ( (binary_expression "lVar8 + 0xc" identifier + number_literal) ))))) ;)) }))) (if_statement "if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }" if (parenthesized_expression "((bVar2 & 0xf) == 3)" ( (binary_expression "(bVar2 & 0xf) == 3" (parenthesized_expression "(bVar2 & 0xf)" ( (binary_expression "bVar2 & 0xf" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }" { (if_statement "if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }" if (parenthesized_expression "(*(code **)(*param_3 + 0xc0) == FUN_001b9cb0)" ( (binary_expression "*(code **)(*param_3 + 0xc0) == FUN_001b9cb0" (pointer_expression "*(code **)(*param_3 + 0xc0)" * (cast_expression "(code **)(*param_3 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0xc0)" ( (binary_expression "*param_3 + 0xc0" (pointer_expression "*param_3" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }" { (if_statement "if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }" if (parenthesized_expression "((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(param_3[0xb] - param_3[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3[0xb] - param_3[10] >> 3)" ( (binary_expression "param_3[0xb] - param_3[10] >> 3" (binary_expression "param_3[0xb] - param_3[10]" (subscript_expression "param_3[0xb]" identifier [ number_literal ]) - (subscript_expression "param_3[10]" identifier [ number_literal ])) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }" { comment (expression_statement "FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;) })) (expression_statement "lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);" (assignment_expression "lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8)" identifier = (pointer_expression "*(long *)(param_3[10] + (ulong)uVar6 * 8)" * (cast_expression "(long *)(param_3[10] + (ulong)uVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[10] + (ulong)uVar6 * 8)" ( (binary_expression "param_3[10] + (ulong)uVar6 * 8" (subscript_expression "param_3[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }" else (compound_statement "{\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }" { (expression_statement "lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);" (assignment_expression "lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6)" identifier = (call_expression "(**(code **)(*param_3 + 0xc0))(param_3,uVar6)" (parenthesized_expression "(**(code **)(*param_3 + 0xc0))" ( (pointer_expression "**(code **)(*param_3 + 0xc0)" * (pointer_expression "*(code **)(*param_3 + 0xc0)" * (cast_expression "(code **)(*param_3 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0xc0)" ( (binary_expression "*param_3 + 0xc0" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_3,uVar6)" ( identifier , identifier )))) ;) }))) (expression_statement "*(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;" (assignment_expression "*(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1" (pointer_expression "*(byte *)(lVar8 + 200)" * (cast_expression "(byte *)(lVar8 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 200)" ( (binary_expression "lVar8 + 200" identifier + number_literal) )))) = (binary_expression "*(byte *)(lVar8 + 200) | 1" (pointer_expression "*(byte *)(lVar8 + 200)" * (cast_expression "(byte *)(lVar8 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 200)" ( (binary_expression "lVar8 + 200" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "local_39[0] = 1;" (assignment_expression "local_39[0] = 1" (subscript_expression "local_39[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" identifier (argument_list "(param_11,local_39)" ( identifier , identifier ))) ;) }) (else_clause "else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }" else (compound_statement "{\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }" { (if_statement "if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" if (parenthesized_expression "((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11)" ( (binary_expression "(ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11" (call_expression "(ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555)" ( (binary_expression "(param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555" (parenthesized_expression "(param_3[0x2d] - param_3[0x2c] >> 3)" ( (binary_expression "param_3[0x2d] - param_3[0x2c] >> 3" (binary_expression "param_3[0x2d] - param_3[0x2c]" (subscript_expression "param_3[0x2d]" identifier [ number_literal ]) - (subscript_expression "param_3[0x2c]" identifier [ number_literal ])) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" { comment (expression_statement "FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");" (call_expression "FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_must_have_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);" (assignment_expression "piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18)" identifier = (cast_expression "(int *)(param_3[0x2c] + uVar11 * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[0x2c] + uVar11 * 0x18)" ( (binary_expression "param_3[0x2c] + uVar11 * 0x18" (subscript_expression "param_3[0x2c]" identifier [ number_literal ]) + (binary_expression "uVar11 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if ((iVar3 != 0) && (iVar3 != -2)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" if (parenthesized_expression "((iVar3 != 0) && (iVar3 != -2))" ( (binary_expression "(iVar3 != 0) && (iVar3 != -2)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 != -2)" ( (binary_expression "iVar3 != -2" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" { comment (expression_statement "FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");" (call_expression "FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_must_have_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "*piVar1 = -2;" (assignment_expression "*piVar1 = -2" (pointer_expression "*piVar1" * identifier) = number_literal) ;) (expression_statement "local_39[0] = 0;" (assignment_expression "local_39[0] = 0" (subscript_expression "local_39[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" identifier (argument_list "(param_11,local_39)" ( identifier , identifier ))) ;) }))) }) (else_clause "else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }" else (compound_statement "{\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }" { (expression_statement "local_39[0] = 0;" (assignment_expression "local_39[0] = 0" (subscript_expression "local_39[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" identifier (argument_list "(param_11,local_39)" ( identifier , identifier ))) ;) }))) (expression_statement "lVar10 = lVar10 + 1;" (assignment_expression "lVar10 = lVar10 + 1" identifier = (binary_expression "lVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;" (assignment_expression "*(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1" (pointer_expression "*(long *)(param_11 + 0x18)" * (cast_expression "(long *)(param_11 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_11 + 0x18)" ( (binary_expression "param_11 + 0x18" identifier + number_literal) )))) = (binary_expression "*(long *)(param_11 + 0x18) + 1" (pointer_expression "*(long *)(param_11 + 0x18)" * (cast_expression "(long *)(param_11 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_11 + 0x18)" ( (binary_expression "param_11 + 0x18" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" identifier = (binary_expression "param_5 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_6 != lVar10)" ( (binary_expression "param_6 != lVar10" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original name: scan_relocatable_relocs<32, true,\n   gold::Default_emit_relocs_strategy<gold::Default_classify_reloc<4, 32, true> > > */\n\nvoid gold::\n     scan_relocatable_relocs<32,_true,_gold::Default_emit_relocs_strategy<gold::Default_classify_reloc<4,_32,_true>_>_>\n               (Symbol_table *param_1,Layout *param_2,Sized_relobj_file<32,_true> *object,\n               uint data_shndx,uchar *prelocs,size_t reloc_count,Output_section *output_section,\n               bool needs_special_offset_handling,size_t param_9,uchar *plocal_syms,\n               Relocatable_relocs *rr)\n\n{\n  byte bVar1;\n  _func_int_varargs *p_Var2;\n  pointer ppOVar3;\n  pointer pSVar4;\n  bool bVar5;\n  ushort uVar6;\n  int iVar7;\n  ulong uVar8;\n  undefined4 extraout_var;\n  Xindex *this;\n  uint uVar10;\n  uint uVar11;\n  size_t sVar12;\n  ulong uVar13;\n  uchar local_39 [9];\n  Output_section *pOVar9;\n  undefined4 extraout_var_00;\n  \n  if (reloc_count != 0) {\n    sVar12 = 0;\n    do {\n      while (needs_special_offset_handling) {\n        uVar11 = *(uint *)prelocs;\n        bVar5 = Output_section::is_input_address_mapped\n                          (output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18));\n        if (bVar5) break;\nLAB_001bd0f0:\n        sVar12 = sVar12 + 1;\n        local_39[0] = '\b';\n        prelocs = (uchar *)((long)prelocs + 0xc);\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n        if (reloc_count == sVar12) {\n          return;\n        }\n      }\n      uVar11 = *(uint *)((long)prelocs + 4);\n      uVar11 = ((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18) >> 8;\n      uVar13 = (ulong)uVar11;\n      if (uVar13 < param_9) {\n        if (plocal_syms == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar10 = uVar11 << 4;\n        uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8;\n        uVar8 = (ulong)uVar6;\n        if (uVar6 < 0xff00) {\nLAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;\n          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        else {\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        if ((bVar1 & 0xf) == 3) {\n          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }\n          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;\n          local_39[0] = '\x01';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n        else {\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n      }\n      else {\n        local_39[0] = '\0';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n      }\n      sVar12 = sVar12 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n      prelocs = (uchar *)((long)prelocs + 0xc);\n    } while (reloc_count != sVar12);\n  }\n  return;\n}\n\n" comment comment (declaration "void gold::\n     scan_relocatable_relocs<32,_true,_gold::Default_emit_relocs_strategy<gold::Default_classify_reloc<4,_32,_true>_>_>\n               (Symbol_table *param_1,Layout *param_2,Sized_relobj_file<32,_true> *object,\n               uint data_shndx,uchar *prelocs,size_t reloc_count,Output_section *output_section,\n               bool needs_special_offset_handling,size_t param_9,uchar *plocal_syms,\n               Relocatable_relocs *rr)\n\n{\n  byte bVar1;" primitive_type (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , identifier , (ERROR "_gold::Default_emit_relocs_strategy<gold::" identifier : : identifier < identifier : :) identifier (ERROR "<4" < number_literal) , identifier , (ERROR "_true>_>_>\n               (Symbol_table *param_1,Layout *param_2,Sized_relobj_file<32,_true> *object,\n               uint data_shndx,uchar *prelocs,size_t reloc_count,Output_section *output_section,\n               bool needs_special_offset_handling,size_t param_9,uchar *plocal_syms,\n               Relocatable_relocs *rr)\n\n{\n  byte" (function_declarator "_true>_>_>\n               (Symbol_table *param_1,Layout *param_2,Sized_relobj_file<32,_true> *object,\n               uint data_shndx,uchar *prelocs,size_t reloc_count,Output_section *output_section,\n               bool needs_special_offset_handling,size_t param_9,uchar *plocal_syms,\n               Relocatable_relocs *rr)" identifier (ERROR ">_>_>" > identifier > identifier >) (parameter_list "(Symbol_table *param_1,Layout *param_2,Sized_relobj_file<32,_true> *object,\n               uint data_shndx,uchar *prelocs,size_t reloc_count,Output_section *output_section,\n               bool needs_special_offset_handling,size_t param_9,uchar *plocal_syms,\n               Relocatable_relocs *rr)" ( (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Layout *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *object" type_identifier (ERROR ">" >) (pointer_declarator "*object" * identifier)) , (parameter_declaration "uint data_shndx" type_identifier identifier) , (parameter_declaration "uchar *prelocs" type_identifier (pointer_declarator "*prelocs" * identifier)) , (parameter_declaration "size_t reloc_count" primitive_type identifier) , (parameter_declaration "Output_section *output_section" type_identifier (pointer_declarator "*output_section" * identifier)) , (parameter_declaration "bool needs_special_offset_handling" primitive_type identifier) , (parameter_declaration "size_t param_9" primitive_type identifier) , (parameter_declaration "uchar *plocal_syms" type_identifier (pointer_declarator "*plocal_syms" * identifier)) , (parameter_declaration "Relocatable_relocs *rr" type_identifier (pointer_declarator "*rr" * identifier)) ))) { identifier) identifier ;) (declaration "_func_int_varargs *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "pointer ppOVar3;" type_identifier identifier ;) (declaration "pointer pSVar4;" type_identifier identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "ushort uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (declaration "Xindex *this;" type_identifier (pointer_declarator "*this" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "uchar local_39 [9];" type_identifier (array_declarator "local_39 [9]" identifier [ number_literal ]) ;) (declaration "Output_section *pOVar9;" type_identifier (pointer_declarator "*pOVar9" * identifier) ;) (declaration "undefined4 extraout_var_00;" type_identifier identifier ;) (if_statement "if (reloc_count != 0) {\n    sVar12 = 0;\n    do {\n      while (needs_special_offset_handling) {\n        uVar11 = *(uint *)prelocs;\n        bVar5 = Output_section::is_input_address_mapped\n                          (output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18));\n        if (bVar5) break;\nLAB_001bd0f0:\n        sVar12 = sVar12 + 1;\n        local_39[0] = '\b';\n        prelocs = (uchar *)((long)prelocs + 0xc);\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n        if (reloc_count == sVar12) {\n          return;\n        }\n      }\n      uVar11 = *(uint *)((long)prelocs + 4);\n      uVar11 = ((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18) >> 8;\n      uVar13 = (ulong)uVar11;\n      if (uVar13 < param_9) {\n        if (plocal_syms == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar10 = uVar11 << 4;\n        uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8;\n        uVar8 = (ulong)uVar6;\n        if (uVar6 < 0xff00) {\nLAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;\n          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        else {\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        if ((bVar1 & 0xf) == 3) {\n          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }\n          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;\n          local_39[0] = '\x01';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n        else {\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n      }\n      else {\n        local_39[0] = '\0';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n      }\n      sVar12 = sVar12 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n      prelocs = (uchar *)((long)prelocs + 0xc);\n    } while (reloc_count != sVar12);\n  }" if (parenthesized_expression "(reloc_count != 0)" ( (binary_expression "reloc_count != 0" identifier != number_literal) )) (compound_statement "{\n    sVar12 = 0;\n    do {\n      while (needs_special_offset_handling) {\n        uVar11 = *(uint *)prelocs;\n        bVar5 = Output_section::is_input_address_mapped\n                          (output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18));\n        if (bVar5) break;\nLAB_001bd0f0:\n        sVar12 = sVar12 + 1;\n        local_39[0] = '\b';\n        prelocs = (uchar *)((long)prelocs + 0xc);\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n        if (reloc_count == sVar12) {\n          return;\n        }\n      }\n      uVar11 = *(uint *)((long)prelocs + 4);\n      uVar11 = ((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18) >> 8;\n      uVar13 = (ulong)uVar11;\n      if (uVar13 < param_9) {\n        if (plocal_syms == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar10 = uVar11 << 4;\n        uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8;\n        uVar8 = (ulong)uVar6;\n        if (uVar6 < 0xff00) {\nLAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;\n          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        else {\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        if ((bVar1 & 0xf) == 3) {\n          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }\n          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;\n          local_39[0] = '\x01';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n        else {\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n      }\n      else {\n        local_39[0] = '\0';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n      }\n      sVar12 = sVar12 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n      prelocs = (uchar *)((long)prelocs + 0xc);\n    } while (reloc_count != sVar12);\n  }" { (expression_statement "sVar12 = 0;" (assignment_expression "sVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n      while (needs_special_offset_handling) {\n        uVar11 = *(uint *)prelocs;\n        bVar5 = Output_section::is_input_address_mapped\n                          (output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18));\n        if (bVar5) break;\nLAB_001bd0f0:\n        sVar12 = sVar12 + 1;\n        local_39[0] = '\b';\n        prelocs = (uchar *)((long)prelocs + 0xc);\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n        if (reloc_count == sVar12) {\n          return;\n        }\n      }\n      uVar11 = *(uint *)((long)prelocs + 4);\n      uVar11 = ((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18) >> 8;\n      uVar13 = (ulong)uVar11;\n      if (uVar13 < param_9) {\n        if (plocal_syms == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar10 = uVar11 << 4;\n        uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8;\n        uVar8 = (ulong)uVar6;\n        if (uVar6 < 0xff00) {\nLAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;\n          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        else {\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        if ((bVar1 & 0xf) == 3) {\n          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }\n          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;\n          local_39[0] = '\x01';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n        else {\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n      }\n      else {\n        local_39[0] = '\0';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n      }\n      sVar12 = sVar12 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n      prelocs = (uchar *)((long)prelocs + 0xc);\n    } while (reloc_count != sVar12);" do (compound_statement "{\n      while (needs_special_offset_handling) {\n        uVar11 = *(uint *)prelocs;\n        bVar5 = Output_section::is_input_address_mapped\n                          (output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18));\n        if (bVar5) break;\nLAB_001bd0f0:\n        sVar12 = sVar12 + 1;\n        local_39[0] = '\b';\n        prelocs = (uchar *)((long)prelocs + 0xc);\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n        if (reloc_count == sVar12) {\n          return;\n        }\n      }\n      uVar11 = *(uint *)((long)prelocs + 4);\n      uVar11 = ((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18) >> 8;\n      uVar13 = (ulong)uVar11;\n      if (uVar13 < param_9) {\n        if (plocal_syms == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar10 = uVar11 << 4;\n        uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8;\n        uVar8 = (ulong)uVar6;\n        if (uVar6 < 0xff00) {\nLAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;\n          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        else {\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        if ((bVar1 & 0xf) == 3) {\n          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }\n          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;\n          local_39[0] = '\x01';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n        else {\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n      }\n      else {\n        local_39[0] = '\0';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n      }\n      sVar12 = sVar12 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n      prelocs = (uchar *)((long)prelocs + 0xc);\n    }" { (while_statement "while (needs_special_offset_handling) {\n        uVar11 = *(uint *)prelocs;\n        bVar5 = Output_section::is_input_address_mapped\n                          (output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18));\n        if (bVar5) break;\nLAB_001bd0f0:\n        sVar12 = sVar12 + 1;\n        local_39[0] = '\b';\n        prelocs = (uchar *)((long)prelocs + 0xc);\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n        if (reloc_count == sVar12) {\n          return;\n        }\n      }" while (parenthesized_expression "(needs_special_offset_handling)" ( identifier )) (compound_statement "{\n        uVar11 = *(uint *)prelocs;\n        bVar5 = Output_section::is_input_address_mapped\n                          (output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18));\n        if (bVar5) break;\nLAB_001bd0f0:\n        sVar12 = sVar12 + 1;\n        local_39[0] = '\b';\n        prelocs = (uchar *)((long)prelocs + 0xc);\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n        if (reloc_count == sVar12) {\n          return;\n        }\n      }" { (expression_statement "uVar11 = *(uint *)prelocs;" (assignment_expression "uVar11 = *(uint *)prelocs" identifier = (pointer_expression "*(uint *)prelocs" * (cast_expression "(uint *)prelocs" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (ERROR "bVar5 = Output_section::" (assignment_expression "bVar5 = Output_section" identifier = identifier) : :) (expression_statement "is_input_address_mapped\n                          (output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18));" (call_expression "is_input_address_mapped\n                          (output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18))" identifier (argument_list "(output_section,(Relobj *)object,data_shndx,\n                           (ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18))" ( identifier , (cast_expression "(Relobj *)object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (call_expression "(ulong)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                   (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) ))) ))) ;) (if_statement "if (bVar5) break;" if (parenthesized_expression "(bVar5)" ( identifier )) (break_statement "break;" break ;)) (labeled_statement "LAB_001bd0f0:\n        sVar12 = sVar12 + 1;" statement_identifier : (expression_statement "sVar12 = sVar12 + 1;" (assignment_expression "sVar12 = sVar12 + 1" identifier = (binary_expression "sVar12 + 1" identifier + number_literal)) ;)) (expression_statement "local_39[0] = '\b';" (assignment_expression "local_39[0] = '\b'" (subscript_expression "local_39[0]" identifier [ number_literal ]) = (char_literal "'\b'" ' escape_sequence ')) ;) (expression_statement "prelocs = (uchar *)((long)prelocs + 0xc);" (assignment_expression "prelocs = (uchar *)((long)prelocs + 0xc)" identifier = (cast_expression "(uchar *)((long)prelocs + 0xc)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)prelocs + 0xc)" ( (binary_expression "(long)prelocs + 0xc" (cast_expression "(long)prelocs" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (labeled_statement "std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);" statement_identifier (ERROR "::vector<unsigned_char,_std::allocator<unsigned_char>_>:" : : (comma_expression "vector<unsigned_char,_std" (binary_expression "vector<unsigned_char" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) > :) : (expression_statement "emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);" (binary_expression "emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39)" (binary_expression "emplace_back<unsigned_char" identifier < identifier) > (parenthesized_expression "(&rr->reloc_strategies_,local_39)" ( (comma_expression "&rr->reloc_strategies_,local_39" (pointer_expression "&rr->reloc_strategies_" & (field_expression "rr->reloc_strategies_" identifier -> field_identifier)) , identifier) ))) ;)) (if_statement "if (reloc_count == sVar12) {\n          return;\n        }" if (parenthesized_expression "(reloc_count == sVar12)" ( (binary_expression "reloc_count == sVar12" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "uVar11 = *(uint *)((long)prelocs + 4);" (assignment_expression "uVar11 = *(uint *)((long)prelocs + 4)" identifier = (pointer_expression "*(uint *)((long)prelocs + 4)" * (cast_expression "(uint *)((long)prelocs + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)prelocs + 4)" ( (binary_expression "(long)prelocs + 4" (cast_expression "(long)prelocs" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar11 = ((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18) >> 8;" (assignment_expression "uVar11 = ((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18) >> 8" identifier = (binary_expression "((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18) >> 8" (parenthesized_expression "((uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (binary_expression "(uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "(uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "uVar13 = (ulong)uVar11;" (assignment_expression "uVar13 = (ulong)uVar11" identifier = (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar13 < param_9) {\n        if (plocal_syms == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar10 = uVar11 << 4;\n        uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8;\n        uVar8 = (ulong)uVar6;\n        if (uVar6 < 0xff00) {\nLAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;\n          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        else {\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        if ((bVar1 & 0xf) == 3) {\n          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }\n          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;\n          local_39[0] = '\x01';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n        else {\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n      }\n      else {\n        local_39[0] = '\0';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n      }" if (parenthesized_expression "(uVar13 < param_9)" ( (binary_expression "uVar13 < param_9" identifier < identifier) )) (compound_statement "{\n        if (plocal_syms == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar10 = uVar11 << 4;\n        uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8;\n        uVar8 = (ulong)uVar6;\n        if (uVar6 < 0xff00) {\nLAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;\n          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        else {\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        if ((bVar1 & 0xf) == 3) {\n          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }\n          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;\n          local_39[0] = '\x01';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n        else {\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n      }" { (if_statement "if (plocal_syms == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" if (parenthesized_expression "(plocal_syms == (uchar *)0x0)" ( (binary_expression "plocal_syms == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");" (call_expression "do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" identifier (argument_list "("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""scan_relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "uVar10 = uVar11 << 4;" (assignment_expression "uVar10 = uVar11 << 4" identifier = (binary_expression "uVar11 << 4" identifier << number_literal)) ;) (expression_statement "uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8;" (assignment_expression "uVar6 = *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8" identifier = (binary_expression "*(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8 |\n                *(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8" (binary_expression "*(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) << 8" (pointer_expression "*(ushort *)(plocal_syms + (ulong)uVar10 + 0xe)" * (cast_expression "(ushort *)(plocal_syms + (ulong)uVar10 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plocal_syms + (ulong)uVar10 + 0xe)" ( (binary_expression "plocal_syms + (ulong)uVar10 + 0xe" (binary_expression "plocal_syms + (ulong)uVar10" identifier + (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(plocal_syms + (ulong)uVar10 + 0xe) >> 8" (pointer_expression "*(ushort *)(plocal_syms + (ulong)uVar10 + 0xe)" * (cast_expression "(ushort *)(plocal_syms + (ulong)uVar10 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plocal_syms + (ulong)uVar10 + 0xe)" ( (binary_expression "plocal_syms + (ulong)uVar10 + 0xe" (binary_expression "plocal_syms + (ulong)uVar10" identifier + (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) )))) >> number_literal))) ;) (expression_statement "uVar8 = (ulong)uVar6;" (assignment_expression "uVar8 = (ulong)uVar6" identifier = (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar6 < 0xff00) {\nLAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;\n          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }\n        else {\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }" if (parenthesized_expression "(uVar6 < 0xff00)" ( (binary_expression "uVar6 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;\n          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }" { (labeled_statement "LAB_001bd152:\n          if ((int)uVar8 == 0) goto LAB_001bd063;" statement_identifier : (if_statement "if ((int)uVar8 == 0) goto LAB_001bd063;" if (parenthesized_expression "((int)uVar8 == 0)" ( (binary_expression "(int)uVar8 == 0" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (goto_statement "goto LAB_001bd063;" goto statement_identifier ;))) (expression_statement "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;" (field_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" identifier = (binary_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_true>)" ( (comma_expression "object->super_Sized_relobj<32,_true" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8)" ( (binary_expression "(ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8" (call_expression "(ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3)" ( (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3 >> 3" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar3" (field_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish" (field_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold" (cast_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_true>)" ( (comma_expression "object->super_Sized_relobj<32,_true" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppOVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");" (call_expression "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (if_statement "if (ppOVar3[uVar8] == (Output_section *)0x0) goto LAB_001bd0f0;" if (parenthesized_expression "(ppOVar3[uVar8] == (Output_section *)0x0)" ( (binary_expression "ppOVar3[uVar8] == (Output_section *)0x0" (subscript_expression "ppOVar3[uVar8]" identifier [ identifier ]) == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001bd0f0;" goto statement_identifier ;)) (expression_statement "bVar1 = plocal_syms[(ulong)uVar10 + 0xc];" (assignment_expression "bVar1 = plocal_syms[(ulong)uVar10 + 0xc]" identifier = (subscript_expression "plocal_syms[(ulong)uVar10 + 0xc]" identifier [ (binary_expression "(ulong)uVar10 + 0xc" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal) ])) ;) }) (else_clause "else {\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }" else (compound_statement "{\n          if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];\n        }" { (if_statement "if (uVar6 == 0xffff) {\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }" if (parenthesized_expression "(uVar6 == 0xffff)" ( (binary_expression "uVar6 == 0xffff" identifier == number_literal) )) (compound_statement "{\n            this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n            if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this,(Object *)object,uVar11);\n            uVar8 = (ulong)uVar11;\n            goto LAB_001bd152;\n          }" { (expression_statement "this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;" (assignment_expression "this = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_" identifier = (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_true>)" ( (comma_expression "object->super_Sized_relobj<32,_true" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (this == (Xindex *)0x0) {\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }" if (parenthesized_expression "(this == (Xindex *)0x0)" ( (binary_expression "this == (Xindex *)0x0" identifier == (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n              this = (Xindex *)CONCAT44(extraout_var_00,iVar7);\n              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;\n            }" { (expression_statement "iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);" (assignment_expression "iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object)" identifier = (call_expression "(*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object)" (parenthesized_expression "(*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])" ( (pointer_expression "*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b]" * (subscript_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b]" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                        _vptr_Object" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_true>)" ( (comma_expression "object->super_Sized_relobj<32,_true" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(object)" ( identifier )))) ;) (expression_statement "this = (Xindex *)CONCAT44(extraout_var_00,iVar7);" (assignment_expression "this = (Xindex *)CONCAT44(extraout_var_00,iVar7)" identifier = (cast_expression "(Xindex *)CONCAT44(extraout_var_00,iVar7)" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_00,iVar7)" identifier (argument_list "(extraout_var_00,iVar7)" ( identifier , identifier ))))) ;) (expression_statement "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this;" (assignment_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = this" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_true>)" ( (comma_expression "object->super_Sized_relobj<32,_true" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) })) (ERROR "uVar11 = Xindex::" (assignment_expression "uVar11 = Xindex" identifier = identifier) : :) (expression_statement "sym_xindex_to_shndx(this,(Object *)object,uVar11);" (call_expression "sym_xindex_to_shndx(this,(Object *)object,uVar11)" identifier (argument_list "(this,(Object *)object,uVar11)" ( identifier , (cast_expression "(Object *)object" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "uVar8 = (ulong)uVar11;" (assignment_expression "uVar8 = (ulong)uVar11" identifier = (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_001bd152;" goto statement_identifier ;) })) (labeled_statement "LAB_001bd063:\n          bVar1 = plocal_syms[(ulong)uVar10 + 0xc];" statement_identifier : (expression_statement "bVar1 = plocal_syms[(ulong)uVar10 + 0xc];" (assignment_expression "bVar1 = plocal_syms[(ulong)uVar10 + 0xc]" identifier = (subscript_expression "plocal_syms[(ulong)uVar10 + 0xc]" identifier [ (binary_expression "(ulong)uVar10 + 0xc" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal) ])) ;)) }))) (if_statement "if ((bVar1 & 0xf) == 3) {\n          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }\n          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;\n          local_39[0] = '\x01';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }\n        else {\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }" if (parenthesized_expression "((bVar1 & 0xf) == 3)" ( (binary_expression "(bVar1 & 0xf) == 3" (parenthesized_expression "(bVar1 & 0xf)" ( (binary_expression "bVar1 & 0xf" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }\n          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;\n          local_39[0] = '\x01';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }" { (expression_statement "p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18];" (assignment_expression "p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18]" identifier = (subscript_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x18]" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_true>)" ( (comma_expression "object->super_Sized_relobj<32,_true" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var2 == Relobj::do_output_section) {\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }\n          else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }" if (parenthesized_expression "(p_Var2 == Relobj::do_output_section)" ( (ERROR "p_Var2 == Relobj::" (binary_expression "p_Var2 == Relobj" identifier == identifier) : :) identifier )) (compound_statement "{\n            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            pOVar9 = ppOVar3[uVar8];\n          }" { (expression_statement "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;" (field_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start" (field_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl" (binary_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold" identifier = (binary_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_true>)" ( (comma_expression "object->super_Sized_relobj<32,_true" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }" if (parenthesized_expression "((ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8)" ( (binary_expression "(ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= uVar8" (call_expression "(ulong)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3)" ( (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3 >> 3" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar3" (field_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish" (field_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold::Output_section*,_std" (binary_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base<gold" (cast_expression "(long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                              super__Vector_base" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_" (field_expression "(object->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_true>)" ( (comma_expression "object->super_Sized_relobj<32,_true" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppOVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;) })) (expression_statement "pOVar9 = ppOVar3[uVar8];" (assignment_expression "pOVar9 = ppOVar3[uVar8]" identifier = (subscript_expression "ppOVar3[uVar8]" identifier [ identifier ])) ;) }) (else_clause "else {\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }" else (compound_statement "{\n            iVar7 = (*p_Var2)(object,uVar8);\n            pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);\n          }" { (expression_statement "iVar7 = (*p_Var2)(object,uVar8);" (assignment_expression "iVar7 = (*p_Var2)(object,uVar8)" identifier = (call_expression "(*p_Var2)(object,uVar8)" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(object,uVar8)" ( identifier , identifier )))) ;) (expression_statement "pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7);" (assignment_expression "pOVar9 = (Output_section *)CONCAT44(extraout_var,iVar7)" identifier = (cast_expression "(Output_section *)CONCAT44(extraout_var,iVar7)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var,iVar7)" identifier (argument_list "(extraout_var,iVar7)" ( identifier , identifier ))))) ;) }))) (expression_statement "pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;" (assignment_expression "pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1" (field_expression "pOVar9->field_0xc8" identifier -> field_identifier) = (binary_expression "pOVar9->field_0xc8 | 1" (field_expression "pOVar9->field_0xc8" identifier -> field_identifier) | number_literal)) ;) (expression_statement "local_39[0] = '\x01';" (assignment_expression "local_39[0] = '\x01'" (subscript_expression "local_39[0]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);" statement_identifier (ERROR "::vector<unsigned_char,_std::allocator<unsigned_char>_>:" : : (comma_expression "vector<unsigned_char,_std" (binary_expression "vector<unsigned_char" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) > :) : (expression_statement "emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);" (binary_expression "emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39)" (binary_expression "emplace_back<unsigned_char" identifier < identifier) > (parenthesized_expression "(&rr->reloc_strategies_,local_39)" ( (comma_expression "&rr->reloc_strategies_,local_39" (pointer_expression "&rr->reloc_strategies_" & (field_expression "rr->reloc_strategies_" identifier -> field_identifier)) , identifier) ))) ;)) }) (else_clause "else {\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }" else (compound_statement "{\n          pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar4 = pSVar4 + uVar13;\n          uVar11 = pSVar4->output_symtab_index_;\n          if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar4->output_symtab_index_ = 0xfffffffe;\n          local_39[0] = '\0';\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);\n        }" { (expression_statement "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;" (field_expression "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start" (field_expression "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl" (binary_expression "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32" (assignment_expression "pSVar4 = (object->local_values_).\n                   super__Vector_base<gold" identifier = (binary_expression "(object->local_values_).\n                   super__Vector_base<gold" (field_expression "(object->local_values_).\n                   super__Vector_base" (parenthesized_expression "(object->local_values_)" ( (field_expression "object->local_values_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" if (parenthesized_expression "((ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13)" ( (binary_expression "(ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              uVar13" (call_expression "(ulong)(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555)" ( (binary_expression "((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555" (parenthesized_expression "((long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3)" ( (binary_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3" (binary_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4" (field_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish" (field_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl" (binary_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "(long)(object->local_values_).\n                             super__Vector_base<gold::Symbol_value<32" (binary_expression "(long)(object->local_values_).\n                             super__Vector_base<gold" (cast_expression "(long)(object->local_values_).\n                             super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(object->local_values_).\n                             super__Vector_base" (parenthesized_expression "(object->local_values_)" ( (field_expression "object->local_values_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)pSVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");" (call_expression "do_gold_unreachable("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_must_have_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "pSVar4 = pSVar4 + uVar13;" (assignment_expression "pSVar4 = pSVar4 + uVar13" identifier = (binary_expression "pSVar4 + uVar13" identifier + identifier)) ;) (expression_statement "uVar11 = pSVar4->output_symtab_index_;" (assignment_expression "uVar11 = pSVar4->output_symtab_index_" identifier = (field_expression "pSVar4->output_symtab_index_" identifier -> field_identifier)) ;) (if_statement "if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" if (parenthesized_expression "((uVar11 != 0) && (uVar11 != 0xfffffffe))" ( (binary_expression "(uVar11 != 0) && (uVar11 != 0xfffffffe)" (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar11 != 0xfffffffe)" ( (binary_expression "uVar11 != 0xfffffffe" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");" (call_expression "do_gold_unreachable("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_must_have_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "pSVar4->output_symtab_index_ = 0xfffffffe;" (assignment_expression "pSVar4->output_symtab_index_ = 0xfffffffe" (field_expression "pSVar4->output_symtab_index_" identifier -> field_identifier) = number_literal) ;) (expression_statement "local_39[0] = '\0';" (assignment_expression "local_39[0] = '\0'" (subscript_expression "local_39[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);" statement_identifier (ERROR "::vector<unsigned_char,_std::allocator<unsigned_char>_>:" : : (comma_expression "vector<unsigned_char,_std" (binary_expression "vector<unsigned_char" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) > :) : (expression_statement "emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39);" (binary_expression "emplace_back<unsigned_char>\n                    (&rr->reloc_strategies_,local_39)" (binary_expression "emplace_back<unsigned_char" identifier < identifier) > (parenthesized_expression "(&rr->reloc_strategies_,local_39)" ( (comma_expression "&rr->reloc_strategies_,local_39" (pointer_expression "&rr->reloc_strategies_" & (field_expression "rr->reloc_strategies_" identifier -> field_identifier)) , identifier) ))) ;)) }))) }) (else_clause "else {\n        local_39[0] = '\0';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n      }" else (compound_statement "{\n        local_39[0] = '\0';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);\n      }" { (expression_statement "local_39[0] = '\0';" (assignment_expression "local_39[0] = '\0'" (subscript_expression "local_39[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);" statement_identifier (ERROR "::vector<unsigned_char,_std::allocator<unsigned_char>_>:" : : (comma_expression "vector<unsigned_char,_std" (binary_expression "vector<unsigned_char" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) > :) : (expression_statement "emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39);" (binary_expression "emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_39)" (binary_expression "emplace_back<unsigned_char" identifier < identifier) > (parenthesized_expression "(&rr->reloc_strategies_,local_39)" ( (comma_expression "&rr->reloc_strategies_,local_39" (pointer_expression "&rr->reloc_strategies_" & (field_expression "rr->reloc_strategies_" identifier -> field_identifier)) , identifier) ))) ;)) }))) (expression_statement "sVar12 = sVar12 + 1;" (assignment_expression "sVar12 = sVar12 + 1" identifier = (binary_expression "sVar12 + 1" identifier + number_literal)) ;) (expression_statement "rr->output_reloc_count_ = rr->output_reloc_count_ + 1;" (assignment_expression "rr->output_reloc_count_ = rr->output_reloc_count_ + 1" (field_expression "rr->output_reloc_count_" identifier -> field_identifier) = (binary_expression "rr->output_reloc_count_ + 1" (field_expression "rr->output_reloc_count_" identifier -> field_identifier) + number_literal)) ;) (expression_statement "prelocs = (uchar *)((long)prelocs + 0xc);" (assignment_expression "prelocs = (uchar *)((long)prelocs + 0xc)" identifier = (cast_expression "(uchar *)((long)prelocs + 0xc)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)prelocs + 0xc)" ( (binary_expression "(long)prelocs + 0xc" (cast_expression "(long)prelocs" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(reloc_count != sVar12)" ( (binary_expression "reloc_count != sVar12" identifier != identifier) )) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_001bcfa0(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)\n\n{\n  int *piVar1;\n  byte bVar2;\n  int iVar3;\n  char cVar4;\n  ushort uVar5;\n  uint uVar6;\n  long lVar7;\n  long lVar8;\n  uint uVar9;\n  long lVar10;\n  ulong uVar11;\n  undefined1 local_39 [9];\n  \n  if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }\n  return;\n}\n\n" (function_definition "void FUN_001bcfa0(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)\n\n{\n  int *piVar1;\n  byte bVar2;\n  int iVar3;\n  char cVar4;\n  ushort uVar5;\n  uint uVar6;\n  long lVar7;\n  long lVar8;\n  uint uVar9;\n  long lVar10;\n  ulong uVar11;\n  undefined1 local_39 [9];\n  \n  if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001bcfa0(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "uint *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) , (parameter_declaration "char param_8" primitive_type identifier) , (parameter_declaration "ulong param_9" type_identifier identifier) , (parameter_declaration "long param_10" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_11" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  int *piVar1;\n  byte bVar2;\n  int iVar3;\n  char cVar4;\n  ushort uVar5;\n  uint uVar6;\n  long lVar7;\n  long lVar8;\n  uint uVar9;\n  long lVar10;\n  ulong uVar11;\n  undefined1 local_39 [9];\n  \n  if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "ushort uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "undefined1 local_39 [9];" type_identifier (array_declarator "local_39 [9]" identifier [ number_literal ]) ;) (if_statement "if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }" { (expression_statement "lVar10 = 0;" (assignment_expression "lVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);" do (compound_statement "{\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    }" { (while_statement "while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }" while (parenthesized_expression "(param_8 != '\0')" ( (binary_expression "param_8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }" { (expression_statement "uVar9 = *param_5;" (assignment_expression "uVar9 = *param_5" identifier = (pointer_expression "*param_5" * identifier)) ;) (expression_statement "cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);" (assignment_expression "cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18)" identifier = (call_expression "FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18)" identifier (argument_list "(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18)" ( identifier , identifier , identifier , (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (cVar4 != '\0') break;" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001bd0f0:\n        lVar10 = lVar10 + 1;" statement_identifier : (expression_statement "lVar10 = lVar10 + 1;" (assignment_expression "lVar10 = lVar10 + 1" identifier = (binary_expression "lVar10 + 1" identifier + number_literal)) ;)) (expression_statement "local_39[0] = 8;" (assignment_expression "local_39[0] = 8" (subscript_expression "local_39[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" identifier = (binary_expression "param_5 + 3" identifier + number_literal)) ;) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" identifier (argument_list "(param_11,local_39)" ( identifier , identifier ))) ;) (if_statement "if (param_6 == lVar10) {\n          return;\n        }" if (parenthesized_expression "(param_6 == lVar10)" ( (binary_expression "param_6 == lVar10" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "uVar9 = param_5[1];" (assignment_expression "uVar9 = param_5[1]" identifier = (subscript_expression "param_5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;" (assignment_expression "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" identifier = (binary_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (parenthesized_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18)" ( (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "uVar11 = (ulong)uVar9;" (assignment_expression "uVar11 = (ulong)uVar9" identifier = (cast_expression "(ulong)uVar9" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }" if (parenthesized_expression "(uVar11 < param_9)" ( (binary_expression "uVar11 < param_9" identifier < identifier) )) (compound_statement "{\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }" { (if_statement "if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" if (parenthesized_expression "(param_10 == 0)" ( (binary_expression "param_10 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" { (expression_statement "FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");" (call_expression "FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" identifier (argument_list "("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""scan_relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "lVar8 = (ulong)(uVar9 << 4) + param_10;" (assignment_expression "lVar8 = (ulong)(uVar9 << 4) + param_10" identifier = (binary_expression "(ulong)(uVar9 << 4) + param_10" (call_expression "(ulong)(uVar9 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 << 4)" ( (binary_expression "uVar9 << 4" identifier << number_literal) ))) + identifier)) ;) (expression_statement "uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;" (assignment_expression "uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8" identifier = (binary_expression "*(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8" (binary_expression "*(ushort *)(lVar8 + 0xe) << 8" (pointer_expression "*(ushort *)(lVar8 + 0xe)" * (cast_expression "(ushort *)(lVar8 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0xe)" ( (binary_expression "lVar8 + 0xe" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar8 + 0xe) >> 8" (pointer_expression "*(ushort *)(lVar8 + 0xe)" * (cast_expression "(ushort *)(lVar8 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0xe)" ( (binary_expression "lVar8 + 0xe" identifier + number_literal) )))) >> number_literal))) ;) (expression_statement "uVar6 = (uint)uVar5;" (assignment_expression "uVar6 = (uint)uVar5" identifier = (cast_expression "(uint)uVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" if (parenthesized_expression "(uVar5 < 0xff00)" ( (binary_expression "uVar5 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" { (labeled_statement "LAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;" statement_identifier : (if_statement "if (uVar6 == 0) goto LAB_001bd063;" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001bd063;" goto statement_identifier ;))) (if_statement "if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(param_3[0xb] - param_3[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3[0xb] - param_3[10] >> 3)" ( (binary_expression "param_3[0xb] - param_3[10] >> 3" (binary_expression "param_3[0xb] - param_3[10]" (subscript_expression "param_3[0xb]" identifier [ number_literal ]) - (subscript_expression "param_3[10]" identifier [ number_literal ])) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }" { (expression_statement "FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_001e9890("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;" if (parenthesized_expression "(*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0)" ( (binary_expression "*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0" (pointer_expression "*(long *)(param_3[10] + (ulong)uVar6 * 8)" * (cast_expression "(long *)(param_3[10] + (ulong)uVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[10] + (ulong)uVar6 * 8)" ( (binary_expression "param_3[10] + (ulong)uVar6 * 8" (subscript_expression "param_3[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_001bd0f0;" goto statement_identifier ;)) (expression_statement "bVar2 = *(byte *)(lVar8 + 0xc);" (assignment_expression "bVar2 = *(byte *)(lVar8 + 0xc)" identifier = (pointer_expression "*(byte *)(lVar8 + 0xc)" * (cast_expression "(byte *)(lVar8 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0xc)" ( (binary_expression "lVar8 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" else (compound_statement "{\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" { (if_statement "if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }" if (parenthesized_expression "(uVar5 == 0xffff)" ( (binary_expression "uVar5 == 0xffff" identifier == number_literal) )) (compound_statement "{\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }" { (expression_statement "lVar7 = param_3[8];" (assignment_expression "lVar7 = param_3[8]" identifier = (subscript_expression "param_3[8]" identifier [ number_literal ])) ;) (if_statement "if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }" { (expression_statement "lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);" (assignment_expression "lVar7 = (**(code **)(*param_3 + 0xd8))(param_3)" identifier = (call_expression "(**(code **)(*param_3 + 0xd8))(param_3)" (parenthesized_expression "(**(code **)(*param_3 + 0xd8))" ( (pointer_expression "**(code **)(*param_3 + 0xd8)" * (pointer_expression "*(code **)(*param_3 + 0xd8)" * (cast_expression "(code **)(*param_3 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0xd8)" ( (binary_expression "*param_3 + 0xd8" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "param_3[8] = lVar7;" (assignment_expression "param_3[8] = lVar7" (subscript_expression "param_3[8]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar6 = FUN_0022a020(lVar7,param_3,uVar9);" (assignment_expression "uVar6 = FUN_0022a020(lVar7,param_3,uVar9)" identifier = (call_expression "FUN_0022a020(lVar7,param_3,uVar9)" identifier (argument_list "(lVar7,param_3,uVar9)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_001bd152;" goto statement_identifier ;) })) (labeled_statement "LAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);" statement_identifier : (expression_statement "bVar2 = *(byte *)(lVar8 + 0xc);" (assignment_expression "bVar2 = *(byte *)(lVar8 + 0xc)" identifier = (pointer_expression "*(byte *)(lVar8 + 0xc)" * (cast_expression "(byte *)(lVar8 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0xc)" ( (binary_expression "lVar8 + 0xc" identifier + number_literal) ))))) ;)) }))) (if_statement "if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }" if (parenthesized_expression "((bVar2 & 0xf) == 3)" ( (binary_expression "(bVar2 & 0xf) == 3" (parenthesized_expression "(bVar2 & 0xf)" ( (binary_expression "bVar2 & 0xf" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }" { (if_statement "if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }" if (parenthesized_expression "(*(code **)(*param_3 + 0xc0) == FUN_001b9cb0)" ( (binary_expression "*(code **)(*param_3 + 0xc0) == FUN_001b9cb0" (pointer_expression "*(code **)(*param_3 + 0xc0)" * (cast_expression "(code **)(*param_3 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0xc0)" ( (binary_expression "*param_3 + 0xc0" (pointer_expression "*param_3" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }" { (if_statement "if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }" if (parenthesized_expression "((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(param_3[0xb] - param_3[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3[0xb] - param_3[10] >> 3)" ( (binary_expression "param_3[0xb] - param_3[10] >> 3" (binary_expression "param_3[0xb] - param_3[10]" (subscript_expression "param_3[0xb]" identifier [ number_literal ]) - (subscript_expression "param_3[10]" identifier [ number_literal ])) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }" { (expression_statement "FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;) })) (expression_statement "lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);" (assignment_expression "lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8)" identifier = (pointer_expression "*(long *)(param_3[10] + (ulong)uVar6 * 8)" * (cast_expression "(long *)(param_3[10] + (ulong)uVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[10] + (ulong)uVar6 * 8)" ( (binary_expression "param_3[10] + (ulong)uVar6 * 8" (subscript_expression "param_3[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }" else (compound_statement "{\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }" { (expression_statement "lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);" (assignment_expression "lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6)" identifier = (call_expression "(**(code **)(*param_3 + 0xc0))(param_3,uVar6)" (parenthesized_expression "(**(code **)(*param_3 + 0xc0))" ( (pointer_expression "**(code **)(*param_3 + 0xc0)" * (pointer_expression "*(code **)(*param_3 + 0xc0)" * (cast_expression "(code **)(*param_3 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0xc0)" ( (binary_expression "*param_3 + 0xc0" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_3,uVar6)" ( identifier , identifier )))) ;) }))) (expression_statement "*(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;" (assignment_expression "*(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1" (pointer_expression "*(byte *)(lVar8 + 200)" * (cast_expression "(byte *)(lVar8 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 200)" ( (binary_expression "lVar8 + 200" identifier + number_literal) )))) = (binary_expression "*(byte *)(lVar8 + 200) | 1" (pointer_expression "*(byte *)(lVar8 + 200)" * (cast_expression "(byte *)(lVar8 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 200)" ( (binary_expression "lVar8 + 200" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "local_39[0] = 1;" (assignment_expression "local_39[0] = 1" (subscript_expression "local_39[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" identifier (argument_list "(param_11,local_39)" ( identifier , identifier ))) ;) }) (else_clause "else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }" else (compound_statement "{\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }" { (if_statement "if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" if (parenthesized_expression "((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11)" ( (binary_expression "(ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11" (call_expression "(ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555)" ( (binary_expression "(param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555" (parenthesized_expression "(param_3[0x2d] - param_3[0x2c] >> 3)" ( (binary_expression "param_3[0x2d] - param_3[0x2c] >> 3" (binary_expression "param_3[0x2d] - param_3[0x2c]" (subscript_expression "param_3[0x2d]" identifier [ number_literal ]) - (subscript_expression "param_3[0x2c]" identifier [ number_literal ])) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" { (expression_statement "FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");" (call_expression "FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_must_have_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);" (assignment_expression "piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18)" identifier = (cast_expression "(int *)(param_3[0x2c] + uVar11 * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[0x2c] + uVar11 * 0x18)" ( (binary_expression "param_3[0x2c] + uVar11 * 0x18" (subscript_expression "param_3[0x2c]" identifier [ number_literal ]) + (binary_expression "uVar11 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" if (parenthesized_expression "((iVar3 != 0) && (iVar3 != -2))" ( (binary_expression "(iVar3 != 0) && (iVar3 != -2)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 != -2)" ( (binary_expression "iVar3 != -2" identifier != number_literal) ))) )) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" { (expression_statement "FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");" (call_expression "FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_must_have_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "*piVar1 = -2;" (assignment_expression "*piVar1 = -2" (pointer_expression "*piVar1" * identifier) = number_literal) ;) (expression_statement "local_39[0] = 0;" (assignment_expression "local_39[0] = 0" (subscript_expression "local_39[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" identifier (argument_list "(param_11,local_39)" ( identifier , identifier ))) ;) }))) }) (else_clause "else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }" else (compound_statement "{\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }" { (expression_statement "local_39[0] = 0;" (assignment_expression "local_39[0] = 0" (subscript_expression "local_39[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" identifier (argument_list "(param_11,local_39)" ( identifier , identifier ))) ;) }))) (expression_statement "lVar10 = lVar10 + 1;" (assignment_expression "lVar10 = lVar10 + 1" identifier = (binary_expression "lVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;" (assignment_expression "*(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1" (pointer_expression "*(long *)(param_11 + 0x18)" * (cast_expression "(long *)(param_11 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_11 + 0x18)" ( (binary_expression "param_11 + 0x18" identifier + number_literal) )))) = (binary_expression "*(long *)(param_11 + 0x18) + 1" (pointer_expression "*(long *)(param_11 + 0x18)" * (cast_expression "(long *)(param_11 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_11 + 0x18)" ( (binary_expression "param_11 + 0x18" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" identifier = (binary_expression "param_5 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_6 != lVar10)" ( (binary_expression "param_6 != lVar10" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) )) * LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void FUN_001bcfa0(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)\n\n{\n  int *piVar1;\n  byte bVar2;\n  int iVar3;\n  char cVar4;\n  ushort uVar5;\n  uint uVar6;\n  long lVar7;\n  long lVar8;\n  uint uVar9;\n  long lVar10;\n  ulong uVar11;\n  undefined1 local_39 [9];\n  \n  if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001bcfa0(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)" (identifier "FUN_001bcfa0") (parameter_list "(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,\n                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,\n                 long param_10,long param_11)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "long *param_3" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "uint *param_5" (type_identifier "uint") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "long param_6" (sized_type_specifier "long" (long "long")) (identifier "param_6")) (, ",") (parameter_declaration "undefined8 param_7" (type_identifier "undefined8") (identifier "param_7")) (, ",") (parameter_declaration "char param_8" (primitive_type "char") (identifier "param_8")) (, ",") (parameter_declaration "ulong param_9" (type_identifier "ulong") (identifier "param_9")) (, ",") (parameter_declaration "long param_10" (sized_type_specifier "long" (long "long")) (identifier "param_10")) (, ",") (parameter_declaration "long param_11" (sized_type_specifier "long" (long "long")) (identifier "param_11")) () ")"))) (compound_statement "{\n  int *piVar1;\n  byte bVar2;\n  int iVar3;\n  char cVar4;\n  ushort uVar5;\n  uint uVar6;\n  long lVar7;\n  long lVar8;\n  uint uVar9;\n  long lVar10;\n  ulong uVar11;\n  undefined1 local_39 [9];\n  \n  if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "ushort uVar5;" (type_identifier "ushort") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "long lVar8;" (sized_type_specifier "long" (long "long")) (identifier "lVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "long lVar10;" (sized_type_specifier "long" (long "long")) (identifier "lVar10") (; ";")) (declaration "ulong uVar11;" (type_identifier "ulong") (identifier "uVar11") (; ";")) (declaration "undefined1 local_39 [9];" (type_identifier "undefined1") (array_declarator "local_39 [9]" (identifier "local_39") ([ "[") (number_literal "9") (] "]")) (; ";")) (if_statement "if (param_6 != 0) {\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }" (if "if") (parenthesized_expression "(param_6 != 0)" (( "(") (binary_expression "param_6 != 0" (identifier "param_6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    lVar10 = 0;\n    do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);\n  }" ({ "{") (expression_statement "lVar10 = 0;" (assignment_expression "lVar10 = 0" (identifier "lVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    } while (param_6 != lVar10);" (do "do") (compound_statement "{\n      while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }\n      uVar9 = param_5[1];\n      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n      uVar11 = (ulong)uVar9;\n      if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }\n      lVar10 = lVar10 + 1;\n      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;\n      param_5 = param_5 + 3;\n    }" ({ "{") (while_statement "while (param_8 != '\0') {\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }" (while "while") (parenthesized_expression "(param_8 != '\0')" (( "(") (binary_expression "param_8 != '\0'" (identifier "param_8") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar9 = *param_5;\n        cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);\n        if (cVar4 != '\0') break;\nLAB_001bd0f0:\n        lVar10 = lVar10 + 1;\n        local_39[0] = 8;\n        param_5 = param_5 + 3;\n        FUN_001bbe80(param_11,local_39);\n        if (param_6 == lVar10) {\n          return;\n        }\n      }" ({ "{") (expression_statement "uVar9 = *param_5;" (assignment_expression "uVar9 = *param_5" (identifier "uVar9") (= "=") (pointer_expression "*param_5" (* "*") (identifier "param_5"))) (; ";")) (expression_statement "cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18);" (assignment_expression "cVar4 = FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18)" (identifier "cVar4") (= "=") (call_expression "FUN_00267280(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18)" (identifier "FUN_00267280") (argument_list "(param_7,param_3,param_4,\n                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18)" (( "(") (identifier "param_7") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (if_statement "if (cVar4 != '\0') break;" (if "if") (parenthesized_expression "(cVar4 != '\0')" (( "(") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_001bd0f0:\n        lVar10 = lVar10 + 1;" (statement_identifier "LAB_001bd0f0") (: ":") (expression_statement "lVar10 = lVar10 + 1;" (assignment_expression "lVar10 = lVar10 + 1" (identifier "lVar10") (= "=") (binary_expression "lVar10 + 1" (identifier "lVar10") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "local_39[0] = 8;" (assignment_expression "local_39[0] = 8" (subscript_expression "local_39[0]" (identifier "local_39") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "8")) (; ";")) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" (identifier "param_5") (= "=") (binary_expression "param_5 + 3" (identifier "param_5") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" (identifier "FUN_001bbe80") (argument_list "(param_11,local_39)" (( "(") (identifier "param_11") (, ",") (identifier "local_39") () ")"))) (; ";")) (if_statement "if (param_6 == lVar10) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_6 == lVar10)" (( "(") (binary_expression "param_6 == lVar10" (identifier "param_6") (== "==") (identifier "lVar10")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar9 = param_5[1];" (assignment_expression "uVar9 = param_5[1]" (identifier "uVar9") (= "=") (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;" (assignment_expression "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (identifier "uVar9") (= "=") (binary_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (parenthesized_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18)" (( "(") (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8")) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18"))) () ")")) (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "uVar11 = (ulong)uVar9;" (assignment_expression "uVar11 = (ulong)uVar9" (identifier "uVar11") (= "=") (cast_expression "(ulong)uVar9" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar9"))) (; ";")) (if_statement "if (uVar11 < param_9) {\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }\n      else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }" (if "if") (parenthesized_expression "(uVar11 < param_9)" (( "(") (binary_expression "uVar11 < param_9" (identifier "uVar11") (< "<") (identifier "param_9")) () ")")) (compound_statement "{\n        if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        lVar8 = (ulong)(uVar9 << 4) + param_10;\n        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;\n        uVar6 = (uint)uVar5;\n        if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }\n      }" ({ "{") (if_statement "if (param_10 == 0) {\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" (if "if") (parenthesized_expression "(param_10 == 0)" (( "(") (binary_expression "param_10 == 0" (identifier "param_10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" ({ "{") (expression_statement "FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");" (call_expression "FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" (identifier "FUN_001e9890") (argument_list "("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" (( "(") (string_literal ""../../gold/target-reloc.h"" (" """) (string_content "../../gold/target-reloc.h") (" """)) (, ",") (number_literal "0x2e4") (, ",") (string_literal ""scan_relocatable_relocs"" (" """) (string_content "scan_relocatable_relocs") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar8 = (ulong)(uVar9 << 4) + param_10;" (assignment_expression "lVar8 = (ulong)(uVar9 << 4) + param_10" (identifier "lVar8") (= "=") (binary_expression "(ulong)(uVar9 << 4) + param_10" (call_expression "(ulong)(uVar9 << 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 << 4)" (( "(") (binary_expression "uVar9 << 4" (identifier "uVar9") (<< "<<") (number_literal "4")) () ")"))) (+ "+") (identifier "param_10"))) (; ";")) (expression_statement "uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;" (assignment_expression "uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8" (identifier "uVar5") (= "=") (binary_expression "*(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8" (binary_expression "*(ushort *)(lVar8 + 0xe) << 8" (pointer_expression "*(ushort *)(lVar8 + 0xe)" (* "*") (cast_expression "(ushort *)(lVar8 + 0xe)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0xe)" (( "(") (binary_expression "lVar8 + 0xe" (identifier "lVar8") (+ "+") (number_literal "0xe")) () ")")))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "*(ushort *)(lVar8 + 0xe) >> 8" (pointer_expression "*(ushort *)(lVar8 + 0xe)" (* "*") (cast_expression "(ushort *)(lVar8 + 0xe)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0xe)" (( "(") (binary_expression "lVar8 + 0xe" (identifier "lVar8") (+ "+") (number_literal "0xe")) () ")")))) (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "uVar6 = (uint)uVar5;" (assignment_expression "uVar6 = (uint)uVar5" (identifier "uVar6") (= "=") (cast_expression "(uint)uVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar5"))) (; ";")) (if_statement "if (uVar5 < 0xff00) {\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }\n        else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" (if "if") (parenthesized_expression "(uVar5 < 0xff00)" (( "(") (binary_expression "uVar5 < 0xff00" (identifier "uVar5") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\nLAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;\n          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" ({ "{") (labeled_statement "LAB_001bd152:\n          if (uVar6 == 0) goto LAB_001bd063;" (statement_identifier "LAB_001bd152") (: ":") (if_statement "if (uVar6 == 0) goto LAB_001bd063;" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001bd063;" (goto "goto") (statement_identifier "LAB_001bd063") (; ";")))) (if_statement "if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }" (if "if") (parenthesized_expression "((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6)" (( "(") (binary_expression "(ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(param_3[0xb] - param_3[10] >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(param_3[0xb] - param_3[10] >> 3)" (( "(") (binary_expression "param_3[0xb] - param_3[10] >> 3" (binary_expression "param_3[0xb] - param_3[10]" (subscript_expression "param_3[0xb]" (identifier "param_3") ([ "[") (number_literal "0xb") (] "]")) (- "-") (subscript_expression "param_3[10]" (identifier "param_3") ([ "[") (number_literal "10") (] "]"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6"))) () ")")) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");\n          }" ({ "{") (expression_statement "FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_001e9890("../../gold/object.h",0x50b,"is_section_included")" (identifier "FUN_001e9890") (argument_list "("../../gold/object.h",0x50b,"is_section_included")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x50b") (, ",") (string_literal ""is_section_included"" (" """) (string_content "is_section_included") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;" (if "if") (parenthesized_expression "(*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0)" (( "(") (binary_expression "*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0" (pointer_expression "*(long *)(param_3[10] + (ulong)uVar6 * 8)" (* "*") (cast_expression "(long *)(param_3[10] + (ulong)uVar6 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3[10] + (ulong)uVar6 * 8)" (( "(") (binary_expression "param_3[10] + (ulong)uVar6 * 8" (subscript_expression "param_3[10]" (identifier "param_3") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6")) (* "*") (number_literal "8"))) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001bd0f0;" (goto "goto") (statement_identifier "LAB_001bd0f0") (; ";"))) (expression_statement "bVar2 = *(byte *)(lVar8 + 0xc);" (assignment_expression "bVar2 = *(byte *)(lVar8 + 0xc)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(lVar8 + 0xc)" (* "*") (cast_expression "(byte *)(lVar8 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0xc)" (( "(") (binary_expression "lVar8 + 0xc" (identifier "lVar8") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" (else "else") (compound_statement "{\n          if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }\nLAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);\n        }" ({ "{") (if_statement "if (uVar5 == 0xffff) {\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }" (if "if") (parenthesized_expression "(uVar5 == 0xffff)" (( "(") (binary_expression "uVar5 == 0xffff" (identifier "uVar5") (== "==") (number_literal "0xffff")) () ")")) (compound_statement "{\n            lVar7 = param_3[8];\n            if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }\n            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);\n            goto LAB_001bd152;\n          }" ({ "{") (expression_statement "lVar7 = param_3[8];" (assignment_expression "lVar7 = param_3[8]" (identifier "lVar7") (= "=") (subscript_expression "param_3[8]" (identifier "param_3") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (lVar7 == 0) {\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);\n              param_3[8] = lVar7;\n            }" ({ "{") (expression_statement "lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);" (assignment_expression "lVar7 = (**(code **)(*param_3 + 0xd8))(param_3)" (identifier "lVar7") (= "=") (call_expression "(**(code **)(*param_3 + 0xd8))(param_3)" (parenthesized_expression "(**(code **)(*param_3 + 0xd8))" (( "(") (pointer_expression "**(code **)(*param_3 + 0xd8)" (* "*") (pointer_expression "*(code **)(*param_3 + 0xd8)" (* "*") (cast_expression "(code **)(*param_3 + 0xd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0xd8)" (( "(") (binary_expression "*param_3 + 0xd8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0xd8")) () ")"))))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "param_3[8] = lVar7;" (assignment_expression "param_3[8] = lVar7" (subscript_expression "param_3[8]" (identifier "param_3") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "lVar7")) (; ";")) (} "}"))) (expression_statement "uVar6 = FUN_0022a020(lVar7,param_3,uVar9);" (assignment_expression "uVar6 = FUN_0022a020(lVar7,param_3,uVar9)" (identifier "uVar6") (= "=") (call_expression "FUN_0022a020(lVar7,param_3,uVar9)" (identifier "FUN_0022a020") (argument_list "(lVar7,param_3,uVar9)" (( "(") (identifier "lVar7") (, ",") (identifier "param_3") (, ",") (identifier "uVar9") () ")")))) (; ";")) (goto_statement "goto LAB_001bd152;" (goto "goto") (statement_identifier "LAB_001bd152") (; ";")) (} "}"))) (labeled_statement "LAB_001bd063:\n          bVar2 = *(byte *)(lVar8 + 0xc);" (statement_identifier "LAB_001bd063") (: ":") (expression_statement "bVar2 = *(byte *)(lVar8 + 0xc);" (assignment_expression "bVar2 = *(byte *)(lVar8 + 0xc)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(lVar8 + 0xc)" (* "*") (cast_expression "(byte *)(lVar8 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0xc)" (( "(") (binary_expression "lVar8 + 0xc" (identifier "lVar8") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (} "}")))) (if_statement "if ((bVar2 & 0xf) == 3) {\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }\n        else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }" (if "if") (parenthesized_expression "((bVar2 & 0xf) == 3)" (( "(") (binary_expression "(bVar2 & 0xf) == 3" (parenthesized_expression "(bVar2 & 0xf)" (( "(") (binary_expression "bVar2 & 0xf" (identifier "bVar2") (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }\n          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;\n          local_39[0] = 1;\n          FUN_001bbe80(param_11,local_39);\n        }" ({ "{") (if_statement "if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }\n          else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }" (if "if") (parenthesized_expression "(*(code **)(*param_3 + 0xc0) == FUN_001b9cb0)" (( "(") (binary_expression "*(code **)(*param_3 + 0xc0) == FUN_001b9cb0" (pointer_expression "*(code **)(*param_3 + 0xc0)" (* "*") (cast_expression "(code **)(*param_3 + 0xc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0xc0)" (( "(") (binary_expression "*param_3 + 0xc0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0xc0")) () ")")))) (== "==") (identifier "FUN_001b9cb0")) () ")")) (compound_statement "{\n            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);\n          }" ({ "{") (if_statement "if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }" (if "if") (parenthesized_expression "((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6)" (( "(") (binary_expression "(ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(param_3[0xb] - param_3[10] >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(param_3[0xb] - param_3[10] >> 3)" (( "(") (binary_expression "param_3[0xb] - param_3[10] >> 3" (binary_expression "param_3[0xb] - param_3[10]" (subscript_expression "param_3[0xb]" (identifier "param_3") ([ "[") (number_literal "0xb") (] "]")) (- "-") (subscript_expression "param_3[10]" (identifier "param_3") ([ "[") (number_literal "10") (] "]"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6"))) () ")")) (compound_statement "{\n                    \n              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");\n            }" ({ "{") (expression_statement "FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section")" (identifier "FUN_001e9890") (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x5c8") (, ",") (string_literal ""do_output_section"" (" """) (string_content "do_output_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);" (assignment_expression "lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8)" (identifier "lVar8") (= "=") (pointer_expression "*(long *)(param_3[10] + (ulong)uVar6 * 8)" (* "*") (cast_expression "(long *)(param_3[10] + (ulong)uVar6 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3[10] + (ulong)uVar6 * 8)" (( "(") (binary_expression "param_3[10] + (ulong)uVar6 * 8" (subscript_expression "param_3[10]" (identifier "param_3") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }" (else "else") (compound_statement "{\n            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);\n          }" ({ "{") (expression_statement "lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);" (assignment_expression "lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6)" (identifier "lVar8") (= "=") (call_expression "(**(code **)(*param_3 + 0xc0))(param_3,uVar6)" (parenthesized_expression "(**(code **)(*param_3 + 0xc0))" (( "(") (pointer_expression "**(code **)(*param_3 + 0xc0)" (* "*") (pointer_expression "*(code **)(*param_3 + 0xc0)" (* "*") (cast_expression "(code **)(*param_3 + 0xc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0xc0)" (( "(") (binary_expression "*param_3 + 0xc0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0xc0")) () ")"))))) () ")")) (argument_list "(param_3,uVar6)" (( "(") (identifier "param_3") (, ",") (identifier "uVar6") () ")")))) (; ";")) (} "}")))) (expression_statement "*(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;" (assignment_expression "*(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1" (pointer_expression "*(byte *)(lVar8 + 200)" (* "*") (cast_expression "(byte *)(lVar8 + 200)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 200)" (( "(") (binary_expression "lVar8 + 200" (identifier "lVar8") (+ "+") (number_literal "200")) () ")")))) (= "=") (binary_expression "*(byte *)(lVar8 + 200) | 1" (pointer_expression "*(byte *)(lVar8 + 200)" (* "*") (cast_expression "(byte *)(lVar8 + 200)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 200)" (( "(") (binary_expression "lVar8 + 200" (identifier "lVar8") (+ "+") (number_literal "200")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (expression_statement "local_39[0] = 1;" (assignment_expression "local_39[0] = 1" (subscript_expression "local_39[0]" (identifier "local_39") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" (identifier "FUN_001bbe80") (argument_list "(param_11,local_39)" (( "(") (identifier "param_11") (, ",") (identifier "local_39") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }" (else "else") (compound_statement "{\n          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);\n          iVar3 = *piVar1;\n          if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          *piVar1 = -2;\n          local_39[0] = 0;\n          FUN_001bbe80(param_11,local_39);\n        }" ({ "{") (if_statement "if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" (if "if") (parenthesized_expression "((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11)" (( "(") (binary_expression "(ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11" (call_expression "(ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555)" (( "(") (binary_expression "(param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555" (parenthesized_expression "(param_3[0x2d] - param_3[0x2c] >> 3)" (( "(") (binary_expression "param_3[0x2d] - param_3[0x2c] >> 3" (binary_expression "param_3[0x2d] - param_3[0x2c]" (subscript_expression "param_3[0x2d]" (identifier "param_3") ([ "[") (number_literal "0x2d") (] "]")) (- "-") (subscript_expression "param_3[0x2c]" (identifier "param_3") ([ "[") (number_literal "0x2c") (] "]"))) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "-0x5555555555555555")) () ")"))) (<= "<=") (identifier "uVar11")) () ")")) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" ({ "{") (expression_statement "FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");" (call_expression "FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" (identifier "FUN_001e9890") (argument_list "("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x8e3") (, ",") (string_literal ""set_must_have_output_symtab_entry"" (" """) (string_content "set_must_have_output_symtab_entry") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);" (assignment_expression "piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18)" (identifier "piVar1") (= "=") (cast_expression "(int *)(param_3[0x2c] + uVar11 * 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3[0x2c] + uVar11 * 0x18)" (( "(") (binary_expression "param_3[0x2c] + uVar11 * 0x18" (subscript_expression "param_3[0x2c]" (identifier "param_3") ([ "[") (number_literal "0x2c") (] "]")) (+ "+") (binary_expression "uVar11 * 0x18" (identifier "uVar11") (* "*") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" (identifier "iVar3") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (if_statement "if ((iVar3 != 0) && (iVar3 != -2)) {\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" (if "if") (parenthesized_expression "((iVar3 != 0) && (iVar3 != -2))" (( "(") (binary_expression "(iVar3 != 0) && (iVar3 != -2)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 != -2)" (( "(") (binary_expression "iVar3 != -2" (identifier "iVar3") (!= "!=") (number_literal "-2")) () ")"))) () ")")) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" ({ "{") (expression_statement "FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");" (call_expression "FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" (identifier "FUN_001e9890") (argument_list "("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x71f") (, ",") (string_literal ""set_must_have_output_symtab_entry"" (" """) (string_content "set_must_have_output_symtab_entry") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*piVar1 = -2;" (assignment_expression "*piVar1 = -2" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (number_literal "-2")) (; ";")) (expression_statement "local_39[0] = 0;" (assignment_expression "local_39[0] = 0" (subscript_expression "local_39[0]" (identifier "local_39") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" (identifier "FUN_001bbe80") (argument_list "(param_11,local_39)" (( "(") (identifier "param_11") (, ",") (identifier "local_39") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }" (else "else") (compound_statement "{\n        local_39[0] = 0;\n        FUN_001bbe80(param_11,local_39);\n      }" ({ "{") (expression_statement "local_39[0] = 0;" (assignment_expression "local_39[0] = 0" (subscript_expression "local_39[0]" (identifier "local_39") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_001bbe80(param_11,local_39);" (call_expression "FUN_001bbe80(param_11,local_39)" (identifier "FUN_001bbe80") (argument_list "(param_11,local_39)" (( "(") (identifier "param_11") (, ",") (identifier "local_39") () ")"))) (; ";")) (} "}")))) (expression_statement "lVar10 = lVar10 + 1;" (assignment_expression "lVar10 = lVar10 + 1" (identifier "lVar10") (= "=") (binary_expression "lVar10 + 1" (identifier "lVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;" (assignment_expression "*(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1" (pointer_expression "*(long *)(param_11 + 0x18)" (* "*") (cast_expression "(long *)(param_11 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_11 + 0x18)" (( "(") (binary_expression "param_11 + 0x18" (identifier "param_11") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(long *)(param_11 + 0x18) + 1" (pointer_expression "*(long *)(param_11 + 0x18)" (* "*") (cast_expression "(long *)(param_11 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_11 + 0x18)" (( "(") (binary_expression "param_11 + 0x18" (identifier "param_11") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" (identifier "param_5") (= "=") (binary_expression "param_5 + 3" (identifier "param_5") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_6 != lVar10)" (( "(") (binary_expression "param_6 != lVar10" (identifier "param_6") (!= "!=") (identifier "lVar10")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original name: scan_relocatable_relocs<32, true,
   gold::Default_emit_relocs_strategy<gold::Default_classify_reloc<4, 32, true> > > */

void var_12::
     scan_relocatable_relocs<32,_true,_gold::Default_emit_relocs_strategy<var_12::Default_classify_reloc<4,_32,_true>var_14>var_14>
               (Symbol_table *param_1,Layout *param_2,Sized_relobj_file<32,_true> *object,
               type_7 data_shndx,type_8 *prelocs,size_t var_1,type_9 *output_section,
               bool needs_special_offset_handling,size_t var_8,type_8 *var_9,
               Relocatable_relocs *rr)

{
  byte var_19;
  type_1 *p_Var2;
  type_2 ppOVar3;
  type_2 var_20;
  bool bVar5;
  type_3 var_11;
  int iVar7;
  type_4 var_15;
  type_5 extraout_var;
  type_6 *var_16;
  type_7 uVar10;
  type_7 var_3;
  size_t var_4;
  type_4 var_7;
  type_8 local_39 [9];
  type_9 *pOVar9;
  type_5 extraout_var_00;
  
  if (var_1 != 0) {
    var_4 = 0;
    do {
      while (needs_special_offset_handling) {
        var_3 = *(type_7 *)prelocs;
        bVar5 = type_9::var_2
                          (output_section,(type_10 *)object,data_shndx,
                           (type_4)(var_3 >> 0x18 | (var_3 & 0xff0000) >> 8 |
                                   (var_3 & 0xff00) << 8 | var_3 << 0x18));
        if (bVar5) break;
LAB_001bd0f0:
        var_4 = var_4 + 1;
        local_39[0] = '\b';
        prelocs = (type_8 *)((long)prelocs + 0xc);
        std::vector<var_6,var_13::allocator<var_6>var_14>::var_5<var_6>
                  (&rr->reloc_strategies_,local_39);
        if (var_1 == var_4) {
          return;
        }
      }
      var_3 = *(type_7 *)((long)prelocs + 4);
      var_3 = ((var_3 & 0xff0000) >> 8 | (var_3 & 0xff00) << 8 | var_3 << 0x18) >> 8;
      var_7 = (type_4)var_3;
      if (var_7 < var_8) {
        if (var_9 == (type_8 *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_10("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");
        }
        uVar10 = var_3 << 4;
        var_11 = *(type_3 *)(var_9 + (type_4)uVar10 + 0xe) << 8 |
                *(type_3 *)(var_9 + (type_4)uVar10 + 0xe) >> 8;
        var_15 = (type_4)var_11;
        if (var_11 < 0xff00) {
LAB_001bd152:
          if ((int)var_15 == 0) goto LAB_001bd063;
          ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                    super__Vector_base<var_12::type_9*,var_13::allocator<var_12::type_9*>var_14>
                    ._M_impl._M_start;
          if ((type_4)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                            super__Vector_base<var_12::type_9*,var_13::allocator<var_12::type_9*>var_14>
                            ._M_impl._M_finish - (long)ppOVar3 >> 3) <= var_15) {
                    /* WARNING: Subroutine does not return */
            var_10("../../gold/object.h",0x50b,"is_section_included");
          }
          if (ppOVar3[var_15] == (type_9 *)0x0) goto LAB_001bd0f0;
          var_19 = var_9[(type_4)uVar10 + 0xc];
        }
        else {
          if (var_11 == 0xffff) {
            var_16 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;
            if (var_16 == (type_6 *)0x0) {
              iVar7 = (*(object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.
                        _vptr_Object[0x1b])(object);
              var_16 = (type_6 *)var_17(extraout_var_00,iVar7);
              (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = var_16;
            }
            var_3 = type_6::var_18(var_16,(type_11 *)object,var_3);
            var_15 = (type_4)var_3;
            goto LAB_001bd152;
          }
LAB_001bd063:
          var_19 = var_9[(type_4)uVar10 + 0xc];
        }
        if ((var_19 & 0xf) == 3) {
          p_Var2 = (object->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object
                   [0x18];
          if (p_Var2 == type_10::do_output_section) {
            ppOVar3 = (object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                      super__Vector_base<var_12::type_9*,var_13::allocator<var_12::type_9*>var_14>
                      ._M_impl._M_start;
            if ((type_4)((long)(object->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                              super__Vector_base<var_12::type_9*,var_13::allocator<var_12::type_9*>var_14>
                              ._M_impl._M_finish - (long)ppOVar3 >> 3) <= var_15) {
                    /* WARNING: Subroutine does not return */
              var_10("../../gold/object.h",0x5c8,"do_output_section");
            }
            pOVar9 = ppOVar3[var_15];
          }
          else {
            iVar7 = (*p_Var2)(object,var_15);
            pOVar9 = (type_9 *)var_17(extraout_var,iVar7);
          }
          pOVar9->field_0xc8 = pOVar9->field_0xc8 | 1;
          local_39[0] = '\x01';
          std::vector<var_6,var_13::allocator<var_6>var_14>::var_5<var_6>
                    (&rr->reloc_strategies_,local_39);
        }
        else {
          var_20 = (object->local_values_).
                   super__Vector_base<var_12::Symbol_value<32>,var_13::allocator<var_12::Symbol_value<32>var_14>var_14>
                   ._M_impl._M_start;
          if ((type_4)(((long)(object->local_values_).
                             super__Vector_base<var_12::Symbol_value<32>,var_13::allocator<var_12::Symbol_value<32>var_14>var_14>
                             ._M_impl._M_finish - (long)var_20 >> 3) * -0x5555555555555555) <=
              var_7) {
                    /* WARNING: Subroutine does not return */
            var_10("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");
          }
          var_20 = var_20 + var_7;
          var_3 = var_20->output_symtab_index_;
          if ((var_3 != 0) && (var_3 != 0xfffffffe)) {
                    /* WARNING: Subroutine does not return */
            var_10("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");
          }
          var_20->output_symtab_index_ = 0xfffffffe;
          local_39[0] = '\0';
          std::vector<var_6,var_13::allocator<var_6>var_14>::var_5<var_6>
                    (&rr->reloc_strategies_,local_39);
        }
      }
      else {
        local_39[0] = '\0';
        std::vector<var_6,var_13::allocator<var_6>var_14>::var_5<var_6>
                  (&rr->reloc_strategies_,local_39);
      }
      var_4 = var_4 + 1;
      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;
      prelocs = (type_8 *)((long)prelocs + 0xc);
    } while (var_1 != var_4);
  }
  return;
}


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

void MASKED(undefined8 param_1,undefined8 param_2,long *param_3,undefined4 param_4,
                 uint *param_5,long param_6,undefined8 param_7,char param_8,ulong param_9,
                 long param_10,long param_11)

{
  int *piVar1;
  byte bVar2;
  int iVar3;
  char cVar4;
  ushort uVar5;
  uint uVar6;
  long lVar7;
  long lVar8;
  uint uVar9;
  long lVar10;
  ulong uVar11;
  undefined1 local_39 [9];
  
  if (param_6 != 0) {
    lVar10 = 0;
    do {
      while (param_8 != '\0') {
        uVar9 = *param_5;
        cVar4 = FUN_00267280(param_7,param_3,param_4,
                             uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                             uVar9 << 0x18);
        if (cVar4 != '\0') break;
LAB_001bd0f0:
        lVar10 = lVar10 + 1;
        local_39[0] = 8;
        param_5 = param_5 + 3;
        FUN_001bbe80(param_11,local_39);
        if (param_6 == lVar10) {
          return;
        }
      }
      uVar9 = param_5[1];
      uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;
      uVar11 = (ulong)uVar9;
      if (uVar11 < param_9) {
        if (param_10 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");
        }
        lVar8 = (ulong)(uVar9 << 4) + param_10;
        uVar5 = *(ushort *)(lVar8 + 0xe) << 8 | *(ushort *)(lVar8 + 0xe) >> 8;
        uVar6 = (uint)uVar5;
        if (uVar5 < 0xff00) {
LAB_001bd152:
          if (uVar6 == 0) goto LAB_001bd063;
          if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/object.h",0x50b,"is_section_included");
          }
          if (*(long *)(param_3[10] + (ulong)uVar6 * 8) == 0) goto LAB_001bd0f0;
          bVar2 = *(byte *)(lVar8 + 0xc);
        }
        else {
          if (uVar5 == 0xffff) {
            lVar7 = param_3[8];
            if (lVar7 == 0) {
              lVar7 = (**(code **)(*param_3 + 0xd8))(param_3);
              param_3[8] = lVar7;
            }
            uVar6 = FUN_0022a020(lVar7,param_3,uVar9);
            goto LAB_001bd152;
          }
LAB_001bd063:
          bVar2 = *(byte *)(lVar8 + 0xc);
        }
        if ((bVar2 & 0xf) == 3) {
          if (*(code **)(*param_3 + 0xc0) == FUN_001b9cb0) {
            if ((ulong)(param_3[0xb] - param_3[10] >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
              FUN_001e9890("../../gold/object.h",0x5c8,"do_output_section");
            }
            lVar8 = *(long *)(param_3[10] + (ulong)uVar6 * 8);
          }
          else {
            lVar8 = (**(code **)(*param_3 + 0xc0))(param_3,uVar6);
          }
          *(byte *)(lVar8 + 200) = *(byte *)(lVar8 + 200) | 1;
          local_39[0] = 1;
          FUN_001bbe80(param_11,local_39);
        }
        else {
          if ((ulong)((param_3[0x2d] - param_3[0x2c] >> 3) * -0x5555555555555555) <= uVar11) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");
          }
          piVar1 = (int *)(param_3[0x2c] + uVar11 * 0x18);
          iVar3 = *piVar1;
          if ((iVar3 != 0) && (iVar3 != -2)) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");
          }
          *piVar1 = -2;
          local_39[0] = 0;
          FUN_001bbe80(param_11,local_39);
        }
      }
      else {
        local_39[0] = 0;
        FUN_001bbe80(param_11,local_39);
      }
      lVar10 = lVar10 + 1;
      *(long *)(param_11 + 0x18) = *(long *)(param_11 + 0x18) + 1;
      param_5 = param_5 + 3;
    } while (param_6 != lVar10);
  }
  return;
}

