
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void ldctor_build_sets(void)

{
  long *plVar1;
  asection *section;
  long *plVar2;
  bool bVar3;
  uint uVar4;
  uint uVar5;
  reloc_howto_type *howto;
  etree_type *peVar6;
  size_t sVar7;
  char *pcVar8;
  char *pcVar9;
  bfd_link_hash_entry *pbVar10;
  set_element *psVar11;
  long *__base;
  long *plVar12;
  undefined8 uVar13;
  long lVar14;
  bfd_reloc_code_real_type bVar15;
  int iVar16;
  char *pcVar17;
  int iVar18;
  set_info *psVar19;
  ulong uVar20;
  
  if (ldctor_build_sets::called != 0) {
    return;
  }
  ldctor_build_sets::called = 1;
  if ((constructors_sorted != 0) && (psVar19 = sets, sets != (set_info *)0x0)) {
    do {
      psVar11 = psVar19->elements;
      lVar14 = 0;
      if (psVar11 != (set_element *)0x0) {
        while( true ) {
          psVar11 = psVar11->next;
          iVar18 = (int)lVar14;
          iVar16 = iVar18 + 1;
          if (psVar11 == (set_element *)0x0) break;
          lVar14 = (long)iVar16;
        }
        __base = (long *)xmalloc((long)iVar16 * 8);
        plVar12 = __base;
        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {
          *plVar12 = (long)psVar11;
          plVar12 = plVar12 + 1;
        }
        qsort(__base,(long)iVar16,8,ctor_cmp);
        psVar19->elements = (set_element *)*__base;
        plVar12 = __base;
        if (iVar18 != 0) {
          do {
            plVar2 = (long *)*plVar12;
            plVar1 = plVar12 + 1;
            plVar12 = plVar12 + 1;
            *plVar2 = *plVar1;
          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);
          plVar12 = __base + lVar14;
        }
        *(undefined8 *)*plVar12 = 0;
        free(__base);
      }
      psVar19 = psVar19->next;
    } while (psVar19 != (set_info *)0x0);
  }
  bVar3 = false;
  lang_list_init(&constructor_list);
  push_stat_ptr(&constructor_list);
  psVar19 = sets;
joined_r0x0011eaf9:
  do {
    if (psVar19 == (set_info *)0x0) {
      pop_stat_ptr();
      return;
    }
    if (1 < (byte)(psVar19->h->field_0x18 - 3)) {
      howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);
      if (howto == (reloc_howto_type *)0x0) {
        bVar15 = psVar19->reloc;
        if ((link_info._0_1_ & 3) == 2) {
          pcVar8 = (psVar19->h->root).string;
          uVar13 = bfd_get_reloc_code_name(bVar15);
          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";
          pcVar9 = (link_info.output_bfd)->xvec->name;
        }
        else {
          if (psVar19->elements->section->owner == (bfd *)0x0) {
            pbVar10 = psVar19->h;
          }
          else {
            howto = (reloc_howto_type *)bfd_reloc_type_lookup();
            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;
            pbVar10 = psVar19->h;
            bVar15 = psVar19->reloc;
            pcVar8 = (pbVar10->root).string;
            if (psVar19->elements->section->owner != (bfd *)0x0) {
              uVar13 = bfd_get_reloc_code_name(bVar15);
              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";
              pcVar9 = psVar19->elements->section->owner->xvec->name;
              goto LAB_0011ee49;
            }
          }
          pcVar8 = (pbVar10->root).string;
          uVar13 = bfd_get_reloc_code_name(bVar15);
          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";
          pcVar9 = psVar19->elements->section->name;
        }
LAB_0011ee49:
        pcVar17 = (char *)dcgettext(0,pcVar17,5);
        einfo(pcVar17,pcVar9,uVar13,pcVar8);
        psVar19 = psVar19->next;
        goto joined_r0x0011eaf9;
      }
LAB_0011eb6f:
      uVar4 = bfd_get_reloc_size(howto);
      if (uVar4 == 2) {
        iVar18 = 0x11d;
      }
      else if (uVar4 < 3) {
        iVar18 = 0x11e;
        if (uVar4 != 1) {
LAB_0011edcf:
          pcVar8 = (psVar19->h->root).string;
          uVar5 = bfd_get_reloc_size(howto);
          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);
          iVar18 = 0x11c;
          einfo(pcVar9,(ulong)uVar5,pcVar8);
        }
      }
      else {
        iVar18 = 0x11c;
        if (uVar4 != 4) {
          if (uVar4 != 8) goto LAB_0011edcf;
          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;
        }
      }
      peVar6 = exp_intop((long)(int)uVar4);
      peVar6 = exp_unop(0x117,peVar6);
      peVar6 = exp_assign(".",peVar6,0);
      lang_add_assignment(peVar6);
      peVar6 = exp_nameop(0x103,".");
      peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);
      lang_add_assignment(peVar6);
      peVar6 = exp_intop(psVar19->count);
      lang_add_data(iVar18,peVar6);
      psVar11 = psVar19->elements;
      while (psVar11 != (set_element *)0x0) {
        if (config.map_file != (FILE *)0x0) {
          if (!bVar3) {
            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);
            minfo(pcVar8);
          }
          minfo("%s",(psVar19->h->root).string);
          sVar7 = strlen((psVar19->h->root).string);
          uVar20 = sVar7 & 0xffffffff;
          if (0x12 < (int)sVar7) {
            print_nl();
            uVar20 = 0;
          }
          do {
            print_space();
            uVar4 = (int)uVar20 + 1;
            uVar20 = (ulong)uVar4;
          } while (uVar4 != 0x14);
          if (psVar11->name == (char *)0x0) {
            bVar3 = true;
            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);
          }
          else {
            bVar3 = true;
            minfo("%pT\n");
          }
        }
        section = psVar11->section;
        if (section != (asection *)(_bfd_std_section + 0x230)) {
          section->flags = section->flags | 0x200000;
        }
        if ((link_info._0_1_ & 3) == 2) {
          peVar6 = exp_intop(psVar11->value);
          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);
          psVar11 = psVar11->next;
        }
        else {
          peVar6 = exp_relop(section,psVar11->value);
          lang_add_data(iVar18,peVar6);
          psVar11 = psVar11->next;
        }
      }
      peVar6 = exp_intop(0);
      lang_add_data(iVar18,peVar6);
    }
    psVar19 = psVar19->next;
  } while( true );
}



void FUN_0011eaa0(void)

{
  uint *puVar1;
  undefined8 *puVar2;
  bool bVar3;
  uint uVar4;
  undefined4 uVar5;
  long lVar6;
  undefined8 uVar7;
  size_t sVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  long *plVar11;
  undefined8 *__base;
  undefined8 *puVar12;
  undefined8 uVar13;
  undefined8 *puVar14;
  int iVar15;
  char *pcVar16;
  int iVar17;
  undefined8 *puVar18;
  ulong uVar19;
  
  if (DAT_0017f578 != 0) {
    return;
  }
  DAT_0017f578 = 1;
  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {
    do {
      plVar11 = (long *)puVar18[4];
      lVar6 = 0;
      if (plVar11 != (long *)0x0) {
        while( true ) {
          plVar11 = (long *)*plVar11;
          iVar17 = (int)lVar6;
          iVar15 = iVar17 + 1;
          if (plVar11 == (long *)0x0) break;
          lVar6 = (long)iVar15;
        }
        __base = (undefined8 *)xmalloc((long)iVar15 * 8);
        puVar14 = __base;
        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;
            puVar12 = (undefined8 *)*puVar12) {
          *puVar14 = puVar12;
          puVar14 = puVar14 + 1;
        }
        qsort(__base,(long)iVar15,8,FUN_0011e8a0);
        puVar18[4] = *__base;
        puVar12 = __base;
        if (iVar17 != 0) {
          do {
            puVar2 = (undefined8 *)*puVar12;
            puVar14 = puVar12 + 1;
            puVar12 = puVar12 + 1;
            *puVar2 = *puVar14;
          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);
          puVar12 = __base + lVar6;
        }
        *(undefined8 *)*puVar12 = 0;
        free(__base);
      }
      puVar18 = (undefined8 *)*puVar18;
    } while (puVar18 != (undefined8 *)0x0);
  }
  bVar3 = false;
  FUN_00115b30(&DAT_0017fa80);
  FUN_00115b40(&DAT_0017fa80);
  puVar18 = DAT_0017fa70;
joined_r0x0011eaf9:
  do {
    if (puVar18 == (undefined8 *)0x0) {
      FUN_00115b80();
      return;
    }
    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {
      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));
      if (lVar6 == 0) {
        uVar5 = *(undefined4 *)(puVar18 + 2);
        if ((DAT_0017fac0 & 3) == 2) {
          uVar7 = *(undefined8 *)(puVar18[1] + 8);
          uVar13 = bfd_get_reloc_code_name(uVar5);
          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";
          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);
        }
        else {
          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {
            lVar6 = puVar18[1];
          }
          else {
            lVar6 = bfd_reloc_type_lookup();
            if (lVar6 != 0) goto LAB_0011eb6f;
            lVar6 = puVar18[1];
            uVar5 = *(undefined4 *)(puVar18 + 2);
            uVar7 = *(undefined8 *)(lVar6 + 8);
            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {
              uVar13 = bfd_get_reloc_code_name(uVar5);
              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";
              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);
              goto LAB_0011ee49;
            }
          }
          uVar7 = *(undefined8 *)(lVar6 + 8);
          uVar13 = bfd_get_reloc_code_name(uVar5);
          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";
          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);
        }
LAB_0011ee49:
        uVar10 = dcgettext(0,pcVar16,5);
        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);
        puVar18 = (undefined8 *)*puVar18;
        goto joined_r0x0011eaf9;
      }
LAB_0011eb6f:
      uVar4 = bfd_get_reloc_size(lVar6);
      if (uVar4 == 2) {
        iVar17 = 0x11d;
      }
      else if (uVar4 < 3) {
        iVar17 = 0x11e;
        if (uVar4 != 1) {
LAB_0011edcf:
          uVar7 = *(undefined8 *)(puVar18[1] + 8);
          uVar5 = bfd_get_reloc_size(lVar6);
          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);
          iVar17 = 0x11c;
          FUN_001251f0(uVar9,uVar5,uVar7);
        }
      }
      else {
        iVar17 = 0x11c;
        if (uVar4 != 4) {
          if (uVar4 != 8) goto LAB_0011edcf;
          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;
        }
      }
      uVar7 = FUN_00123030((long)(int)uVar4);
      uVar7 = FUN_00123290(0x117,uVar7);
      uVar7 = FUN_00123350(".",uVar7,0);
      FUN_0011a930(uVar7);
      uVar7 = FUN_00123310(0x103,".");
      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);
      FUN_0011a930(uVar7);
      uVar7 = FUN_00123030(puVar18[3]);
      FUN_0011a860(iVar17,uVar7);
      puVar12 = (undefined8 *)puVar18[4];
      while (puVar12 != (undefined8 *)0x0) {
        if (DAT_0017fc98 != 0) {
          if (!bVar3) {
            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);
            FUN_001252f0(uVar7);
          }
          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));
          sVar8 = strlen(*(char **)(puVar18[1] + 8));
          uVar19 = sVar8 & 0xffffffff;
          if (0x12 < (int)sVar8) {
            FUN_00124290();
            uVar19 = 0;
          }
          do {
            FUN_00124270();
            uVar4 = (int)uVar19 + 1;
            uVar19 = (ulong)uVar4;
          } while (uVar4 != 0x14);
          if (puVar12[1] == 0) {
            bVar3 = true;
            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);
          }
          else {
            bVar3 = true;
            FUN_001252f0(&DAT_0013eeb7);
          }
        }
        if (puVar12[2] != 0x17ed50) {
          puVar1 = (uint *)(puVar12[2] + 0x20);
          *puVar1 = *puVar1 | 0x200000;
        }
        if ((DAT_0017fac0 & 3) == 2) {
          uVar7 = FUN_00123030(puVar12[3]);
          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);
          puVar12 = (undefined8 *)*puVar12;
        }
        else {
          uVar7 = FUN_001230d0();
          FUN_0011a860(iVar17,uVar7);
          puVar12 = (undefined8 *)*puVar12;
        }
      }
      uVar7 = FUN_00123030(0);
      FUN_0011a860(iVar17,uVar7);
    }
    puVar18 = (undefined8 *)*puVar18;
  } while( true );
}


MOV EDX,dword ptr [0x0017f578]
TEST EDX,EDX
JNZ 0x0011efb1
PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x18
MOV EAX,dword ptr [0x0017fa90]
MOV dword ptr [0x0017f578],0x1
TEST EAX,EAX
JNZ 0x0011ee75
LEA RDI,[0x17fa80]
XOR R15D,R15D
CALL 0x00115b30
LEA RDI,[0x17fa80]
CALL 0x00115b40
MOV RBP,qword ptr [0x0017fa70]
TEST RBP,RBP
JZ 0x0011ed41
NOP
MOV RAX,qword ptr [RBP + 0x8]
MOVZX EAX,byte ptr [RAX + 0x18]
SUB EAX,0x3
CMP AL,0x1
JBE 0x0011ed34
MOV ESI,dword ptr [RBP + 0x10]
MOV RDI,qword ptr [0x0017fb10]
LEA R13,[0x17fac0]
CALL 0x00109360
MOV R14,RAX
TEST RAX,RAX
JNZ 0x0011eb6f
MOVZX EAX,byte ptr [0x0017fac0]
MOV ESI,dword ptr [RBP + 0x10]
AND EAX,0x3
CMP AL,0x2
JZ 0x0011efb2
MOV RAX,qword ptr [RBP + 0x20]
MOV RAX,qword ptr [RAX + 0x10]
MOV RDI,qword ptr [RAX + 0xf0]
TEST RDI,RDI
JZ 0x0011ee20
CALL 0x00109360
MOV R14,RAX
TEST RAX,RAX
JZ 0x0011ef54
MOV RDI,R14
CALL 0x00109320
MOV EBX,EAX
CMP EAX,0x2
JZ 0x0011efa6
JBE 0x0011edc0
MOV R12D,0x11c
CMP EAX,0x4
JZ 0x0011ebb0
CMP EAX,0x8
JNZ 0x0011edcf
XOR R12D,R12D
CMP dword ptr [R14 + 0x18],0x2
SETZ R12B
ADD R12D,0x11a
NOP
MOVSXD RDI,EBX
CALL 0x00123030
MOV EDI,0x117
MOV RSI,RAX
CALL 0x00123290
XOR EDX,EDX
LEA RDI,[0x172762]
MOV RSI,RAX
CALL 0x00123350
MOV RDI,RAX
CALL 0x0011a930
LEA RSI,[0x172762]
MOV EDI,0x103
CALL 0x00123310
MOV RDX,qword ptr [RBP + 0x8]
MOV RSI,RAX
MOV RDI,qword ptr [RDX + 0x8]
XOR EDX,EDX
CALL 0x00123350
MOV RDI,RAX
CALL 0x0011a930
MOV RDI,qword ptr [RBP + 0x18]
CALL 0x00123030
MOV EDI,R12D
MOV RSI,RAX
CALL 0x0011a860
MOV RBX,qword ptr [RBP + 0x20]
TEST RBX,RBX
JNZ 0x0011ec77
JMP 0x0011ed22
MOV RDI,qword ptr [RBX + 0x10]
LEA RAX,[0x17ed50]
CMP RDI,RAX
JZ 0x0011ec47
OR dword ptr [RDI + 0x20],0x200000
MOVZX EAX,byte ptr [R13]
MOV RSI,qword ptr [RBX + 0x18]
AND EAX,0x3
CMP AL,0x2
JZ 0x0011ecf8
CALL 0x001230d0
MOV EDI,R12D
MOV RSI,RAX
CALL 0x0011a860
MOV RBX,qword ptr [RBX]
TEST RBX,RBX
JZ 0x0011ed22
CMP qword ptr [0x0017fc98],0x0
JZ 0x0011ec30
TEST R15D,R15D
JZ 0x0011ed68
MOV RAX,qword ptr [RBP + 0x8]
LEA RDI,[0x13efee]
MOV RSI,qword ptr [RAX + 0x8]
XOR EAX,EAX
CALL 0x001252f0
MOV RAX,qword ptr [RBP + 0x8]
MOV RDI,qword ptr [RAX + 0x8]
CALL 0x00109310
MOV R15D,EAX
CMP EAX,0x12
JG 0x0011ed58
NOP dword ptr [RAX]
CALL 0x00124270
ADD R15D,0x1
CMP R15D,0x14
JNZ 0x0011ecc0
MOV RSI,qword ptr [RBX + 0x8]
TEST RSI,RSI
JZ 0x0011ed90
LEA RDI,[0x13eeb7]
XOR EAX,EAX
MOV R15D,0x1
CALL 0x001252f0
JMP 0x0011ec30
MOV RDI,RSI
CALL 0x00123030
MOV RCX,qword ptr [RBX + 0x8]
MOV RDX,qword ptr [RBX + 0x10]
MOV RSI,R14
MOV EDI,dword ptr [RBP + 0x10]
MOV R8,RAX
CALL 0x0011a8a0
MOV RBX,qword ptr [RBX]
TEST RBX,RBX
JNZ 0x0011ec77
XOR EDI,EDI
CALL 0x00123030
MOV EDI,R12D
MOV RSI,RAX
CALL 0x0011a860
MOV RBP,qword ptr [RBP]
TEST RBP,RBP
JNZ 0x0011eb00
ADD RSP,0x18
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x00115b80
CALL 0x00124290
XOR R15D,R15D
JMP 0x0011ecc0
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x14029b]
CALL 0x001092e0
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001252f0
JMP 0x0011ec8a
MOV RDX,qword ptr [RBX + 0x10]
MOV RCX,qword ptr [RBX + 0x18]
XOR EAX,EAX
MOV R15D,0x1
LEA RDI,[0x1402b9]
MOV RSI,qword ptr [RDX + 0xf0]
CALL 0x001252f0
JMP 0x0011ec30
MOV R12D,0x11e
CMP EAX,0x1
JZ 0x0011ebb0
MOV RAX,qword ptr [RBP + 0x8]
MOV RDI,R14
MOV RAX,qword ptr [RAX + 0x8]
MOV qword ptr [RSP + 0x8],RAX
CALL 0x00109320
MOV EDX,0x5
LEA RSI,[0x140390]
XOR EDI,EDI
MOV R12D,EAX
CALL 0x001092e0
MOV RDX,qword ptr [RSP + 0x8]
MOV ESI,R12D
MOV R12D,0x11c
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001251f0
JMP 0x0011ebb0
MOV RAX,qword ptr [RBP + 0x8]
MOV EDI,ESI
MOV R13,qword ptr [RAX + 0x8]
CALL 0x00109040
MOV EDX,0x5
LEA RSI,[0x140350]
MOV R12,RAX
MOV RAX,qword ptr [RBP + 0x20]
MOV RAX,qword ptr [RAX + 0x10]
MOV RBX,qword ptr [RAX]
XOR EDI,EDI
CALL 0x001092e0
MOV RCX,R13
MOV RDX,R12
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001251f0
MOV RBP,qword ptr [RBP]
TEST RBP,RBP
JNZ 0x0011eb00
JMP 0x0011ed41
MOV R12,qword ptr [0x0017fa70]
TEST R12,R12
JZ 0x0011ead4
NOP dword ptr [RAX]
MOV RAX,qword ptr [R12 + 0x20]
XOR EBX,EBX
TEST RAX,RAX
JNZ 0x0011eea3
JMP 0x0011ef42
MOVSXD RBX,ESI
MOV RAX,qword ptr [RAX]
LEA ESI,[RBX + 0x1]
TEST RAX,RAX
JNZ 0x0011eea0
MOVSXD RBP,ESI
LEA RDI,[RBP*0x8]
CALL 0x00109c50
MOV RDX,qword ptr [R12 + 0x20]
MOV R13,RAX
MOV RCX,RAX
TEST RDX,RDX
JZ 0x0011eedf
NOP
MOV qword ptr [RCX],RDX
MOV RDX,qword ptr [RDX]
ADD RCX,0x8
TEST RDX,RDX
JNZ 0x0011eed0
LEA RCX,[0x11e8a0]
MOV EDX,0x8
MOV RSI,RBP
MOV RDI,R13
CALL 0x001091d0
MOV RAX,qword ptr [R13]
MOV qword ptr [R12 + 0x20],RAX
MOV RAX,R13
TEST EBX,EBX
JZ 0x0011ef30
LEA EAX,[RBX + -0x1]
MOV RDX,R13
LEA RDI,[R13 + RAX*0x8 + 0x8]
NOP dword ptr [RAX]
MOV RCX,qword ptr [RDX]
MOV RSI,qword ptr [RDX + 0x8]
ADD RDX,0x8
MOV qword ptr [RCX],RSI
CMP RDI,RDX
JNZ 0x0011ef18
LEA RAX,[R13 + RBX*0x8]
MOV RAX,qword ptr [RAX]
MOV RDI,R13
MOV qword ptr [RAX],0x0
CALL 0x00109c40
MOV R12,qword ptr [R12]
TEST R12,R12
JNZ 0x0011ee88
JMP 0x0011ead4
MOV RDX,qword ptr [RBP + 0x20]
MOV RAX,qword ptr [RBP + 0x8]
MOV ESI,dword ptr [RBP + 0x10]
MOV RDX,qword ptr [RDX + 0x10]
MOV R13,qword ptr [RAX + 0x8]
CMP qword ptr [RDX + 0xf0],0x0
JZ 0x0011ee24
MOV EDI,ESI
CALL 0x00109040
MOV EDX,0x5
LEA RSI,[0x140320]
MOV R12,RAX
MOV RAX,qword ptr [RBP + 0x20]
MOV RAX,qword ptr [RAX + 0x10]
MOV RAX,qword ptr [RAX + 0xf0]
MOV RAX,qword ptr [RAX + 0x8]
MOV RBX,qword ptr [RAX]
JMP 0x0011ee49
MOV R12D,0x11d
JMP 0x0011ebb0
RET
MOV RAX,qword ptr [RBP + 0x8]
MOV EDI,ESI
MOV R13,qword ptr [RAX + 0x8]
CALL 0x00109040
MOV EDX,0x5
LEA RSI,[0x140320]
MOV R12,RAX
MOV RAX,qword ptr [0x0017fb10]
MOV RAX,qword ptr [RAX + 0x8]
MOV RBX,qword ptr [RAX]
JMP 0x0011ee49
(translation_unit "void FUN_0011eaa0(void)\n\n{\n  uint *puVar1;\n  undefined8 *puVar2;\n  bool bVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  long lVar6;\n  undefined8 uVar7;\n  size_t sVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  undefined8 *__base;\n  undefined8 *puVar12;\n  undefined8 uVar13;\n  undefined8 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  \n  if (DAT_0017f578 != 0) {\n    return;\n  }\n  DAT_0017f578 = 1;\n  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }\n  bVar3 = false;\n  FUN_00115b30(&DAT_0017fa80);\n  FUN_00115b40(&DAT_0017fa80);\n  puVar18 = DAT_0017fa70;\njoined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );\n}\n\n" (function_definition "void FUN_0011eaa0(void)\n\n{\n  uint *puVar1;\n  undefined8 *puVar2;\n  bool bVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  long lVar6;\n  undefined8 uVar7;\n  size_t sVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  undefined8 *__base;\n  undefined8 *puVar12;\n  undefined8 uVar13;\n  undefined8 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  \n  if (DAT_0017f578 != 0) {\n    return;\n  }\n  DAT_0017f578 = 1;\n  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }\n  bVar3 = false;\n  FUN_00115b30(&DAT_0017fa80);\n  FUN_00115b40(&DAT_0017fa80);\n  puVar18 = DAT_0017fa70;\njoined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );\n}" primitive_type (function_declarator "FUN_0011eaa0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint *puVar1;\n  undefined8 *puVar2;\n  bool bVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  long lVar6;\n  undefined8 uVar7;\n  size_t sVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  undefined8 *__base;\n  undefined8 *puVar12;\n  undefined8 uVar13;\n  undefined8 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  \n  if (DAT_0017f578 != 0) {\n    return;\n  }\n  DAT_0017f578 = 1;\n  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }\n  bVar3 = false;\n  FUN_00115b30(&DAT_0017fa80);\n  FUN_00115b40(&DAT_0017fa80);\n  puVar18 = DAT_0017fa70;\njoined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "long *plVar11;" (sized_type_specifier "long" long) (pointer_declarator "*plVar11" * identifier) ;) (declaration "undefined8 *__base;" type_identifier (pointer_declarator "*__base" * identifier) ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "undefined8 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined8 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "ulong uVar19;" type_identifier identifier ;) (if_statement "if (DAT_0017f578 != 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_0017f578 != 0)" ( (binary_expression "DAT_0017f578 != 0" identifier != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "DAT_0017f578 = 1;" (assignment_expression "DAT_0017f578 = 1" identifier = number_literal) ;) (if_statement "if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }" if (parenthesized_expression "((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0))" ( (binary_expression "(DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)" (parenthesized_expression "(DAT_0017fa90 != 0)" ( (binary_expression "DAT_0017fa90 != 0" identifier != number_literal) )) && (parenthesized_expression "(puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)" ( (comma_expression "puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0" (assignment_expression "puVar18 = DAT_0017fa70" identifier = identifier) , (binary_expression "DAT_0017fa70 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }" { (do_statement "do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);" do (compound_statement "{\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    }" { (expression_statement "plVar11 = (long *)puVar18[4];" (assignment_expression "plVar11 = (long *)puVar18[4]" identifier = (cast_expression "(long *)puVar18[4]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[4]" identifier [ number_literal ]))) ;) (expression_statement "lVar6 = 0;" (assignment_expression "lVar6 = 0" identifier = number_literal) ;) (if_statement "if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }" if (parenthesized_expression "(plVar11 != (long *)0x0)" ( (binary_expression "plVar11 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }" { (while_statement "while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }" { (expression_statement "plVar11 = (long *)*plVar11;" (assignment_expression "plVar11 = (long *)*plVar11" identifier = (cast_expression "(long *)*plVar11" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar11" * identifier))) ;) (expression_statement "iVar17 = (int)lVar6;" (assignment_expression "iVar17 = (int)lVar6" identifier = (cast_expression "(int)lVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar15 = iVar17 + 1;" (assignment_expression "iVar15 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (if_statement "if (plVar11 == (long *)0x0) break;" if (parenthesized_expression "(plVar11 == (long *)0x0)" ( (binary_expression "plVar11 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = (long)iVar15;" (assignment_expression "lVar6 = (long)iVar15" identifier = (cast_expression "(long)iVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) })) (expression_statement "__base = (undefined8 *)xmalloc((long)iVar15 * 8);" (assignment_expression "__base = (undefined8 *)xmalloc((long)iVar15 * 8)" identifier = (cast_expression "(undefined8 *)xmalloc((long)iVar15 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((long)iVar15 * 8)" identifier (argument_list "((long)iVar15 * 8)" ( (binary_expression "(long)iVar15 * 8" (cast_expression "(long)iVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) ))))) ;) (expression_statement "puVar14 = __base;" (assignment_expression "puVar14 = __base" identifier = identifier) ;) (for_statement "for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }" for ( (assignment_expression "puVar12 = (undefined8 *)puVar18[4]" identifier = (cast_expression "(undefined8 *)puVar18[4]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[4]" identifier [ number_literal ]))) ; (binary_expression "puVar12 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar12 = (undefined8 *)*puVar12" identifier = (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ) (compound_statement "{\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }" { (expression_statement "*puVar14 = puVar12;" (assignment_expression "*puVar14 = puVar12" (pointer_expression "*puVar14" * identifier) = identifier) ;) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) })) (expression_statement "qsort(__base,(long)iVar15,8,FUN_0011e8a0);" (call_expression "qsort(__base,(long)iVar15,8,FUN_0011e8a0)" identifier (argument_list "(__base,(long)iVar15,8,FUN_0011e8a0)" ( identifier , (cast_expression "(long)iVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal , identifier ))) ;) (expression_statement "puVar18[4] = *__base;" (assignment_expression "puVar18[4] = *__base" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = (pointer_expression "*__base" * identifier)) ;) (expression_statement "puVar12 = __base;" (assignment_expression "puVar12 = __base" identifier = identifier) ;) (if_statement "if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }" { (do_statement "do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);" do (compound_statement "{\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          }" { (expression_statement "puVar2 = (undefined8 *)*puVar12;" (assignment_expression "puVar2 = (undefined8 *)*puVar12" identifier = (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) (expression_statement "puVar14 = puVar12 + 1;" (assignment_expression "puVar14 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "*puVar2 = *puVar14;" (assignment_expression "*puVar2 = *puVar14" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) }) while (parenthesized_expression "(__base + (ulong)(iVar17 - 1) + 1 != puVar12)" ( (binary_expression "__base + (ulong)(iVar17 - 1) + 1 != puVar12" (binary_expression "__base + (ulong)(iVar17 - 1) + 1" (binary_expression "__base + (ulong)(iVar17 - 1)" identifier + (call_expression "(ulong)(iVar17 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar17 - 1)" ( (binary_expression "iVar17 - 1" identifier - number_literal) )))) + number_literal) != identifier) )) ;) (expression_statement "puVar12 = __base + lVar6;" (assignment_expression "puVar12 = __base + lVar6" identifier = (binary_expression "__base + lVar6" identifier + identifier)) ;) })) (expression_statement "*(undefined8 *)*puVar12 = 0;" (assignment_expression "*(undefined8 *)*puVar12 = 0" (pointer_expression "*(undefined8 *)*puVar12" * (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) = number_literal) ;) (expression_statement "free(__base);" (call_expression "free(__base)" identifier (argument_list "(__base)" ( identifier ))) ;) })) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) }) while (parenthesized_expression "(puVar18 != (undefined8 *)0x0)" ( (binary_expression "puVar18 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "FUN_00115b30(&DAT_0017fa80);" (call_expression "FUN_00115b30(&DAT_0017fa80)" identifier (argument_list "(&DAT_0017fa80)" ( (pointer_expression "&DAT_0017fa80" & identifier) ))) ;) (expression_statement "FUN_00115b40(&DAT_0017fa80);" (call_expression "FUN_00115b40(&DAT_0017fa80)" identifier (argument_list "(&DAT_0017fa80)" ( (pointer_expression "&DAT_0017fa80" & identifier) ))) ;) (expression_statement "puVar18 = DAT_0017fa70;" (assignment_expression "puVar18 = DAT_0017fa70" identifier = identifier) ;) (labeled_statement "joined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );" statement_identifier : (do_statement "do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );" do (compound_statement "{\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  }" { (if_statement "if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }" if (parenthesized_expression "(puVar18 == (undefined8 *)0x0)" ( (binary_expression "puVar18 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00115b80();\n      return;\n    }" { (expression_statement "FUN_00115b80();" (call_expression "FUN_00115b80()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }" if (parenthesized_expression "(1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U))" ( (binary_expression "1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)" number_literal < (call_expression "(byte)(*(char *)(puVar18[1] + 0x18) - 3U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(char *)(puVar18[1] + 0x18) - 3U)" ( (binary_expression "*(char *)(puVar18[1] + 0x18) - 3U" (pointer_expression "*(char *)(puVar18[1] + 0x18)" * (cast_expression "(char *)(puVar18[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 0x18)" ( (binary_expression "puVar18[1] + 0x18" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) )))) - number_literal) )))) )) (compound_statement "{\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }" { (expression_statement "lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));" (assignment_expression "lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2))" identifier = (call_expression "bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2))" identifier (argument_list "(DAT_0017fb10,*(undefined4 *)(puVar18 + 2))" ( identifier , (pointer_expression "*(undefined4 *)(puVar18 + 2)" * (cast_expression "(undefined4 *)(puVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) )))) )))) ;) (if_statement "if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }" { (expression_statement "uVar5 = *(undefined4 *)(puVar18 + 2);" (assignment_expression "uVar5 = *(undefined4 *)(puVar18 + 2)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + 2)" * (cast_expression "(undefined4 *)(puVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) ))))) ;) (if_statement "if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }" if (parenthesized_expression "((DAT_0017fac0 & 3) == 2)" ( (binary_expression "(DAT_0017fac0 & 3) == 2" (parenthesized_expression "(DAT_0017fac0 & 3)" ( (binary_expression "DAT_0017fac0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }" { (expression_statement "uVar7 = *(undefined8 *)(puVar18[1] + 8);" (assignment_expression "uVar7 = *(undefined8 *)(puVar18[1] + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" * (cast_expression "(undefined8 *)(puVar18[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar13 = bfd_get_reloc_code_name(uVar5);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(uVar5)" identifier = (call_expression "bfd_get_reloc_code_name(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n"" identifier = (string_literal ""%X%P: %s does not support reloc %s for set %s\n"" " string_content escape_sequence ")) ;) (expression_statement "uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);" (assignment_expression "uVar9 = **(undefined8 **)(DAT_0017fb10 + 8)" identifier = (pointer_expression "**(undefined8 **)(DAT_0017fb10 + 8)" * (pointer_expression "*(undefined8 **)(DAT_0017fb10 + 8)" * (cast_expression "(undefined8 **)(DAT_0017fb10 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0017fb10 + 8)" ( (binary_expression "DAT_0017fb10 + 8" identifier + number_literal) )))))) ;) }) (else_clause "else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }" else (compound_statement "{\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }" { (if_statement "if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }" if (parenthesized_expression "(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0)" ( (binary_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0" (pointer_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" * (cast_expression "(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (binary_expression "*(long *)(puVar18[4] + 0x10) + 0xf0" (pointer_expression "*(long *)(puVar18[4] + 0x10)" * (cast_expression "(long *)(puVar18[4] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[4] + 0x10)" ( (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n            lVar6 = puVar18[1];\n          }" { (expression_statement "lVar6 = puVar18[1];" (assignment_expression "lVar6 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }" else (compound_statement "{\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }" { (expression_statement "lVar6 = bfd_reloc_type_lookup();" (assignment_expression "lVar6 = bfd_reloc_type_lookup()" identifier = (call_expression "bfd_reloc_type_lookup()" identifier (argument_list "()" ( )))) ;) (if_statement "if (lVar6 != 0) goto LAB_0011eb6f;" if (parenthesized_expression "(lVar6 != 0)" ( (binary_expression "lVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011eb6f;" goto statement_identifier ;)) (expression_statement "lVar6 = puVar18[1];" (assignment_expression "lVar6 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined4 *)(puVar18 + 2);" (assignment_expression "uVar5 = *(undefined4 *)(puVar18 + 2)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + 2)" * (cast_expression "(undefined4 *)(puVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined8 *)(lVar6 + 8);" (assignment_expression "uVar7 = *(undefined8 *)(lVar6 + 8)" identifier = (pointer_expression "*(undefined8 *)(lVar6 + 8)" * (cast_expression "(undefined8 *)(lVar6 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 8)" ( (binary_expression "lVar6 + 8" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }" if (parenthesized_expression "(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0)" ( (binary_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0" (pointer_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" * (cast_expression "(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (binary_expression "*(long *)(puVar18[4] + 0x10) + 0xf0" (pointer_expression "*(long *)(puVar18[4] + 0x10)" * (cast_expression "(long *)(puVar18[4] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[4] + 0x10)" ( (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }" { (expression_statement "uVar13 = bfd_get_reloc_code_name(uVar5);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(uVar5)" identifier = (call_expression "bfd_get_reloc_code_name(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n"" identifier = (string_literal ""%X%P: %s does not support reloc %s for set %s\n"" " string_content escape_sequence ")) ;) (expression_statement "uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);" (assignment_expression "uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" identifier = (pointer_expression "**(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" * (pointer_expression "*(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" * (cast_expression "(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" ( (binary_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8" (pointer_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" * (cast_expression "(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (binary_expression "*(long *)(puVar18[4] + 0x10) + 0xf0" (pointer_expression "*(long *)(puVar18[4] + 0x10)" * (cast_expression "(long *)(puVar18[4] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[4] + 0x10)" ( (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) + number_literal) )))))) ;) (goto_statement "goto LAB_0011ee49;" goto statement_identifier ;) })) }))) (expression_statement "uVar7 = *(undefined8 *)(lVar6 + 8);" (assignment_expression "uVar7 = *(undefined8 *)(lVar6 + 8)" identifier = (pointer_expression "*(undefined8 *)(lVar6 + 8)" * (cast_expression "(undefined8 *)(lVar6 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 8)" ( (binary_expression "lVar6 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = bfd_get_reloc_code_name(uVar5);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(uVar5)" identifier = (call_expression "bfd_get_reloc_code_name(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n"" identifier = (string_literal ""%X%P: special section %s does not support reloc %s for set %s\n"" " string_content escape_sequence ")) ;) (expression_statement "uVar9 = **(undefined8 **)(puVar18[4] + 0x10);" (assignment_expression "uVar9 = **(undefined8 **)(puVar18[4] + 0x10)" identifier = (pointer_expression "**(undefined8 **)(puVar18[4] + 0x10)" * (pointer_expression "*(undefined8 **)(puVar18[4] + 0x10)" * (cast_expression "(undefined8 **)(puVar18[4] + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18[4] + 0x10)" ( (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal) )))))) ;) }))) (labeled_statement "LAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);" statement_identifier : (expression_statement "uVar10 = dcgettext(0,pcVar16,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar16,5)" identifier = (call_expression "dcgettext(0,pcVar16,5)" identifier (argument_list "(0,pcVar16,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_001251f0(uVar10,uVar9,uVar13,uVar7);" (call_expression "FUN_001251f0(uVar10,uVar9,uVar13,uVar7)" identifier (argument_list "(uVar10,uVar9,uVar13,uVar7)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (goto_statement "goto joined_r0x0011eaf9;" goto statement_identifier ;) })) (labeled_statement "LAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);" statement_identifier : (expression_statement "uVar4 = bfd_get_reloc_size(lVar6);" (assignment_expression "uVar4 = bfd_get_reloc_size(lVar6)" identifier = (call_expression "bfd_get_reloc_size(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) ;)) (if_statement "if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" if (parenthesized_expression "(uVar4 == 2)" ( (binary_expression "uVar4 == 2" identifier == number_literal) )) (compound_statement "{\n        iVar17 = 0x11d;\n      }" { (expression_statement "iVar17 = 0x11d;" (assignment_expression "iVar17 = 0x11d" identifier = number_literal) ;) }) (else_clause "else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" else (if_statement "if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" if (parenthesized_expression "(uVar4 < 3)" ( (binary_expression "uVar4 < 3" identifier < number_literal) )) (compound_statement "{\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }" { (expression_statement "iVar17 = 0x11e;" (assignment_expression "iVar17 = 0x11e" identifier = number_literal) ;) (if_statement "if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }" if (parenthesized_expression "(uVar4 != 1)" ( (binary_expression "uVar4 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }" { (labeled_statement "LAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);" statement_identifier : (expression_statement "uVar7 = *(undefined8 *)(puVar18[1] + 8);" (assignment_expression "uVar7 = *(undefined8 *)(puVar18[1] + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" * (cast_expression "(undefined8 *)(puVar18[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) ))))) ;)) (expression_statement "uVar5 = bfd_get_reloc_size(lVar6);" (assignment_expression "uVar5 = bfd_get_reloc_size(lVar6)" identifier = (call_expression "bfd_get_reloc_size(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) ;) (expression_statement "uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);" (assignment_expression "uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: unsupported size %d for set %s\n",5)" identifier (argument_list "(0,"%X%P: unsupported size %d for set %s\n",5)" ( number_literal , (string_literal ""%X%P: unsupported size %d for set %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "iVar17 = 0x11c;" (assignment_expression "iVar17 = 0x11c" identifier = number_literal) ;) (expression_statement "FUN_001251f0(uVar9,uVar5,uVar7);" (call_expression "FUN_001251f0(uVar9,uVar5,uVar7)" identifier (argument_list "(uVar9,uVar5,uVar7)" ( identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" else (compound_statement "{\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" { (expression_statement "iVar17 = 0x11c;" (assignment_expression "iVar17 = 0x11c" identifier = number_literal) ;) (if_statement "if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }" if (parenthesized_expression "(uVar4 != 4)" ( (binary_expression "uVar4 != 4" identifier != number_literal) )) (compound_statement "{\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }" { (if_statement "if (uVar4 != 8) goto LAB_0011edcf;" if (parenthesized_expression "(uVar4 != 8)" ( (binary_expression "uVar4 != 8" identifier != number_literal) )) (goto_statement "goto LAB_0011edcf;" goto statement_identifier ;)) (expression_statement "iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;" (assignment_expression "iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a" identifier = (binary_expression "(*(int *)(lVar6 + 0x18) == 2) + 0x11a" (parenthesized_expression "(*(int *)(lVar6 + 0x18) == 2)" ( (binary_expression "*(int *)(lVar6 + 0x18) == 2" (pointer_expression "*(int *)(lVar6 + 0x18)" * (cast_expression "(int *)(lVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x18)" ( (binary_expression "lVar6 + 0x18" identifier + number_literal) )))) == number_literal) )) + number_literal)) ;) })) }))))) (expression_statement "uVar7 = FUN_00123030((long)(int)uVar4);" (assignment_expression "uVar7 = FUN_00123030((long)(int)uVar4)" identifier = (call_expression "FUN_00123030((long)(int)uVar4)" identifier (argument_list "((long)(int)uVar4)" ( (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "uVar7 = FUN_00123290(0x117,uVar7);" (assignment_expression "uVar7 = FUN_00123290(0x117,uVar7)" identifier = (call_expression "FUN_00123290(0x117,uVar7)" identifier (argument_list "(0x117,uVar7)" ( number_literal , identifier )))) ;) (expression_statement "uVar7 = FUN_00123350(".",uVar7,0);" (assignment_expression "uVar7 = FUN_00123350(".",uVar7,0)" identifier = (call_expression "FUN_00123350(".",uVar7,0)" identifier (argument_list "(".",uVar7,0)" ( (string_literal ""."" " string_content ") , identifier , number_literal )))) ;) (expression_statement "FUN_0011a930(uVar7);" (call_expression "FUN_0011a930(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "uVar7 = FUN_00123310(0x103,".");" (assignment_expression "uVar7 = FUN_00123310(0x103,".")" identifier = (call_expression "FUN_00123310(0x103,".")" identifier (argument_list "(0x103,".")" ( number_literal , (string_literal ""."" " string_content ") )))) ;) (expression_statement "uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);" (assignment_expression "uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0)" identifier = (call_expression "FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0)" identifier (argument_list "(*(undefined8 *)(puVar18[1] + 8),uVar7,0)" ( (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" * (cast_expression "(undefined8 *)(puVar18[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) )))) , identifier , number_literal )))) ;) (expression_statement "FUN_0011a930(uVar7);" (call_expression "FUN_0011a930(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "uVar7 = FUN_00123030(puVar18[3]);" (assignment_expression "uVar7 = FUN_00123030(puVar18[3])" identifier = (call_expression "FUN_00123030(puVar18[3])" identifier (argument_list "(puVar18[3])" ( (subscript_expression "puVar18[3]" identifier [ number_literal ]) )))) ;) (expression_statement "FUN_0011a860(iVar17,uVar7);" (call_expression "FUN_0011a860(iVar17,uVar7)" identifier (argument_list "(iVar17,uVar7)" ( identifier , identifier ))) ;) (expression_statement "puVar12 = (undefined8 *)puVar18[4];" (assignment_expression "puVar12 = (undefined8 *)puVar18[4]" identifier = (cast_expression "(undefined8 *)puVar18[4]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[4]" identifier [ number_literal ]))) ;) (while_statement "while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }" while (parenthesized_expression "(puVar12 != (undefined8 *)0x0)" ( (binary_expression "puVar12 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }" { (if_statement "if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }" if (parenthesized_expression "(DAT_0017fc98 != 0)" ( (binary_expression "DAT_0017fc98 != 0" identifier != number_literal) )) (compound_statement "{\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }" { (if_statement "if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }" { (expression_statement "uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);" (assignment_expression "uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5)" identifier = (call_expression "dcgettext(0,"\nSet                 Symbol\n\n",5)" identifier (argument_list "(0,"\nSet                 Symbol\n\n",5)" ( number_literal , (string_literal ""\nSet                 Symbol\n\n"" " escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_001252f0(uVar7);" (call_expression "FUN_001252f0(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) })) (expression_statement "FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));" (call_expression "FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8))" identifier (argument_list "(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8))" ( (pointer_expression "&DAT_0013efee" & identifier) , (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" * (cast_expression "(undefined8 *)(puVar18[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "sVar8 = strlen(*(char **)(puVar18[1] + 8));" (assignment_expression "sVar8 = strlen(*(char **)(puVar18[1] + 8))" identifier = (call_expression "strlen(*(char **)(puVar18[1] + 8))" identifier (argument_list "(*(char **)(puVar18[1] + 8))" ( (pointer_expression "*(char **)(puVar18[1] + 8)" * (cast_expression "(char **)(puVar18[1] + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "uVar19 = sVar8 & 0xffffffff;" (assignment_expression "uVar19 = sVar8 & 0xffffffff" identifier = (binary_expression "sVar8 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }" if (parenthesized_expression "(0x12 < (int)sVar8)" ( (binary_expression "0x12 < (int)sVar8" number_literal < (cast_expression "(int)sVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            FUN_00124290();\n            uVar19 = 0;\n          }" { (expression_statement "FUN_00124290();" (call_expression "FUN_00124290()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) })) (do_statement "do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);" do (compound_statement "{\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          }" { (expression_statement "FUN_00124270();" (call_expression "FUN_00124270()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = (int)uVar19 + 1;" (assignment_expression "uVar4 = (int)uVar19 + 1" identifier = (binary_expression "(int)uVar19 + 1" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar19 = (ulong)uVar4;" (assignment_expression "uVar19 = (ulong)uVar4" identifier = (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(uVar4 != 0x14)" ( (binary_expression "uVar4 != 0x14" identifier != number_literal) )) ;) (if_statement "if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }" if (parenthesized_expression "(puVar12[1] == 0)" ( (binary_expression "puVar12[1] == 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);" (call_expression "FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3])" identifier (argument_list "(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3])" ( (pointer_expression "&DAT_001402b9" & identifier) , (pointer_expression "*(undefined8 *)(puVar12[2] + 0xf0)" * (cast_expression "(undefined8 *)(puVar12[2] + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12[2] + 0xf0)" ( (binary_expression "puVar12[2] + 0xf0" (subscript_expression "puVar12[2]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "puVar12[2]" identifier [ number_literal ]) , (subscript_expression "puVar12[3]" identifier [ number_literal ]) ))) ;) }) (else_clause "else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }" else (compound_statement "{\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "FUN_001252f0(&DAT_0013eeb7);" (call_expression "FUN_001252f0(&DAT_0013eeb7)" identifier (argument_list "(&DAT_0013eeb7)" ( (pointer_expression "&DAT_0013eeb7" & identifier) ))) ;) }))) })) (if_statement "if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }" if (parenthesized_expression "(puVar12[2] != 0x17ed50)" ( (binary_expression "puVar12[2] != 0x17ed50" (subscript_expression "puVar12[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }" { (expression_statement "puVar1 = (uint *)(puVar12[2] + 0x20);" (assignment_expression "puVar1 = (uint *)(puVar12[2] + 0x20)" identifier = (cast_expression "(uint *)(puVar12[2] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12[2] + 0x20)" ( (binary_expression "puVar12[2] + 0x20" (subscript_expression "puVar12[2]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 | 0x200000;" (assignment_expression "*puVar1 = *puVar1 | 0x200000" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 0x200000" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) })) (if_statement "if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" if (parenthesized_expression "((DAT_0017fac0 & 3) == 2)" ( (binary_expression "(DAT_0017fac0 & 3) == 2" (parenthesized_expression "(DAT_0017fac0 & 3)" ( (binary_expression "DAT_0017fac0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" { (expression_statement "uVar7 = FUN_00123030(puVar12[3]);" (assignment_expression "uVar7 = FUN_00123030(puVar12[3])" identifier = (call_expression "FUN_00123030(puVar12[3])" identifier (argument_list "(puVar12[3])" ( (subscript_expression "puVar12[3]" identifier [ number_literal ]) )))) ;) (expression_statement "FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);" (call_expression "FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7)" identifier (argument_list "(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7)" ( (pointer_expression "*(undefined4 *)(puVar18 + 2)" * (cast_expression "(undefined4 *)(puVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) )))) , identifier , (subscript_expression "puVar12[2]" identifier [ number_literal ]) , (subscript_expression "puVar12[1]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "puVar12 = (undefined8 *)*puVar12;" (assignment_expression "puVar12 = (undefined8 *)*puVar12" identifier = (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) }) (else_clause "else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" else (compound_statement "{\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" { (expression_statement "uVar7 = FUN_001230d0();" (assignment_expression "uVar7 = FUN_001230d0()" identifier = (call_expression "FUN_001230d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0011a860(iVar17,uVar7);" (call_expression "FUN_0011a860(iVar17,uVar7)" identifier (argument_list "(iVar17,uVar7)" ( identifier , identifier ))) ;) (expression_statement "puVar12 = (undefined8 *)*puVar12;" (assignment_expression "puVar12 = (undefined8 *)*puVar12" identifier = (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) }))) })) (expression_statement "uVar7 = FUN_00123030(0);" (assignment_expression "uVar7 = FUN_00123030(0)" identifier = (call_expression "FUN_00123030(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "FUN_0011a860(iVar17,uVar7);" (call_expression "FUN_0011a860(iVar17,uVar7)" identifier (argument_list "(iVar17,uVar7)" ( identifier , identifier ))) ;) })) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid ldctor_build_sets(void)\n\n{\n  long *plVar1;\n  asection *section;\n  long *plVar2;\n  bool bVar3;\n  uint uVar4;\n  uint uVar5;\n  reloc_howto_type *howto;\n  etree_type *peVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  bfd_link_hash_entry *pbVar10;\n  set_element *psVar11;\n  long *__base;\n  long *plVar12;\n  undefined8 uVar13;\n  long lVar14;\n  bfd_reloc_code_real_type bVar15;\n  int iVar16;\n  char *pcVar17;\n  int iVar18;\n  set_info *psVar19;\n  ulong uVar20;\n  \n  if (ldctor_build_sets::called != 0) {\n    return;\n  }\n  ldctor_build_sets::called = 1;\n  if ((constructors_sorted != 0) && (psVar19 = sets, sets != (set_info *)0x0)) {\n    do {\n      psVar11 = psVar19->elements;\n      lVar14 = 0;\n      if (psVar11 != (set_element *)0x0) {\n        while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }\n        __base = (long *)xmalloc((long)iVar16 * 8);\n        plVar12 = __base;\n        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }\n        qsort(__base,(long)iVar16,8,ctor_cmp);\n        psVar19->elements = (set_element *)*__base;\n        plVar12 = __base;\n        if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }\n        *(undefined8 *)*plVar12 = 0;\n        free(__base);\n      }\n      psVar19 = psVar19->next;\n    } while (psVar19 != (set_info *)0x0);\n  }\n  bVar3 = false;\n  lang_list_init(&constructor_list);\n  push_stat_ptr(&constructor_list);\n  psVar19 = sets;\njoined_r0x0011eaf9:\n  do {\n    if (psVar19 == (set_info *)0x0) {\n      pop_stat_ptr();\n      return;\n    }\n    if (1 < (byte)(psVar19->h->field_0x18 - 3)) {\n      howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);\n      if (howto == (reloc_howto_type *)0x0) {\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(howto);\n      if (uVar4 == 2) {\n        iVar18 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }\n      peVar6 = exp_intop((long)(int)uVar4);\n      peVar6 = exp_unop(0x117,peVar6);\n      peVar6 = exp_assign(".",peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_nameop(0x103,".");\n      peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_intop(psVar19->count);\n      lang_add_data(iVar18,peVar6);\n      psVar11 = psVar19->elements;\n      while (psVar11 != (set_element *)0x0) {\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }\n      peVar6 = exp_intop(0);\n      lang_add_data(iVar18,peVar6);\n    }\n    psVar19 = psVar19->next;\n  } while( true );\n}\n\n" comment (function_definition "void ldctor_build_sets(void)\n\n{\n  long *plVar1;\n  asection *section;\n  long *plVar2;\n  bool bVar3;\n  uint uVar4;\n  uint uVar5;\n  reloc_howto_type *howto;\n  etree_type *peVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  bfd_link_hash_entry *pbVar10;\n  set_element *psVar11;\n  long *__base;\n  long *plVar12;\n  undefined8 uVar13;\n  long lVar14;\n  bfd_reloc_code_real_type bVar15;\n  int iVar16;\n  char *pcVar17;\n  int iVar18;\n  set_info *psVar19;\n  ulong uVar20;\n  \n  if (ldctor_build_sets::called != 0) {\n    return;\n  }\n  ldctor_build_sets::called = 1;\n  if ((constructors_sorted != 0) && (psVar19 = sets, sets != (set_info *)0x0)) {\n    do {\n      psVar11 = psVar19->elements;\n      lVar14 = 0;\n      if (psVar11 != (set_element *)0x0) {\n        while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }\n        __base = (long *)xmalloc((long)iVar16 * 8);\n        plVar12 = __base;\n        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }\n        qsort(__base,(long)iVar16,8,ctor_cmp);\n        psVar19->elements = (set_element *)*__base;\n        plVar12 = __base;\n        if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }\n        *(undefined8 *)*plVar12 = 0;\n        free(__base);\n      }\n      psVar19 = psVar19->next;\n    } while (psVar19 != (set_info *)0x0);\n  }\n  bVar3 = false;\n  lang_list_init(&constructor_list);\n  push_stat_ptr(&constructor_list);\n  psVar19 = sets;\njoined_r0x0011eaf9:\n  do {\n    if (psVar19 == (set_info *)0x0) {\n      pop_stat_ptr();\n      return;\n    }\n    if (1 < (byte)(psVar19->h->field_0x18 - 3)) {\n      howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);\n      if (howto == (reloc_howto_type *)0x0) {\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(howto);\n      if (uVar4 == 2) {\n        iVar18 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }\n      peVar6 = exp_intop((long)(int)uVar4);\n      peVar6 = exp_unop(0x117,peVar6);\n      peVar6 = exp_assign(".",peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_nameop(0x103,".");\n      peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_intop(psVar19->count);\n      lang_add_data(iVar18,peVar6);\n      psVar11 = psVar19->elements;\n      while (psVar11 != (set_element *)0x0) {\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }\n      peVar6 = exp_intop(0);\n      lang_add_data(iVar18,peVar6);\n    }\n    psVar19 = psVar19->next;\n  } while( true );\n}" primitive_type (function_declarator "ldctor_build_sets(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long *plVar1;\n  asection *section;\n  long *plVar2;\n  bool bVar3;\n  uint uVar4;\n  uint uVar5;\n  reloc_howto_type *howto;\n  etree_type *peVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  bfd_link_hash_entry *pbVar10;\n  set_element *psVar11;\n  long *__base;\n  long *plVar12;\n  undefined8 uVar13;\n  long lVar14;\n  bfd_reloc_code_real_type bVar15;\n  int iVar16;\n  char *pcVar17;\n  int iVar18;\n  set_info *psVar19;\n  ulong uVar20;\n  \n  if (ldctor_build_sets::called != 0) {\n    return;\n  }\n  ldctor_build_sets::called = 1;\n  if ((constructors_sorted != 0) && (psVar19 = sets, sets != (set_info *)0x0)) {\n    do {\n      psVar11 = psVar19->elements;\n      lVar14 = 0;\n      if (psVar11 != (set_element *)0x0) {\n        while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }\n        __base = (long *)xmalloc((long)iVar16 * 8);\n        plVar12 = __base;\n        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }\n        qsort(__base,(long)iVar16,8,ctor_cmp);\n        psVar19->elements = (set_element *)*__base;\n        plVar12 = __base;\n        if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }\n        *(undefined8 *)*plVar12 = 0;\n        free(__base);\n      }\n      psVar19 = psVar19->next;\n    } while (psVar19 != (set_info *)0x0);\n  }\n  bVar3 = false;\n  lang_list_init(&constructor_list);\n  push_stat_ptr(&constructor_list);\n  psVar19 = sets;\njoined_r0x0011eaf9:\n  do {\n    if (psVar19 == (set_info *)0x0) {\n      pop_stat_ptr();\n      return;\n    }\n    if (1 < (byte)(psVar19->h->field_0x18 - 3)) {\n      howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);\n      if (howto == (reloc_howto_type *)0x0) {\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(howto);\n      if (uVar4 == 2) {\n        iVar18 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }\n      peVar6 = exp_intop((long)(int)uVar4);\n      peVar6 = exp_unop(0x117,peVar6);\n      peVar6 = exp_assign(".",peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_nameop(0x103,".");\n      peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_intop(psVar19->count);\n      lang_add_data(iVar18,peVar6);\n      psVar11 = psVar19->elements;\n      while (psVar11 != (set_element *)0x0) {\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }\n      peVar6 = exp_intop(0);\n      lang_add_data(iVar18,peVar6);\n    }\n    psVar19 = psVar19->next;\n  } while( true );\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "asection *section;" type_identifier (pointer_declarator "*section" * identifier) ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "reloc_howto_type *howto;" type_identifier (pointer_declarator "*howto" * identifier) ;) (declaration "etree_type *peVar6;" type_identifier (pointer_declarator "*peVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "bfd_link_hash_entry *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "set_element *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "long *__base;" (sized_type_specifier "long" long) (pointer_declarator "*__base" * identifier) ;) (declaration "long *plVar12;" (sized_type_specifier "long" long) (pointer_declarator "*plVar12" * identifier) ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "long lVar14;" (sized_type_specifier "long" long) identifier ;) (declaration "bfd_reloc_code_real_type bVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "set_info *psVar19;" type_identifier (pointer_declarator "*psVar19" * identifier) ;) (declaration "ulong uVar20;" type_identifier identifier ;) (if_statement "if (ldctor_build_sets::called != 0) {\n    return;\n  }" if (parenthesized_expression "(ldctor_build_sets::called != 0)" ( (binary_expression "ldctor_build_sets::called != 0" identifier (ERROR "::called" : : identifier) != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "ldctor_build_sets::called = 1;" statement_identifier : (ERROR ":" :) (expression_statement "called = 1;" (assignment_expression "called = 1" identifier = number_literal) ;)) (if_statement "if ((constructors_sorted != 0) && (psVar19 = sets, sets != (set_info *)0x0)) {\n    do {\n      psVar11 = psVar19->elements;\n      lVar14 = 0;\n      if (psVar11 != (set_element *)0x0) {\n        while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }\n        __base = (long *)xmalloc((long)iVar16 * 8);\n        plVar12 = __base;\n        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }\n        qsort(__base,(long)iVar16,8,ctor_cmp);\n        psVar19->elements = (set_element *)*__base;\n        plVar12 = __base;\n        if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }\n        *(undefined8 *)*plVar12 = 0;\n        free(__base);\n      }\n      psVar19 = psVar19->next;\n    } while (psVar19 != (set_info *)0x0);\n  }" if (parenthesized_expression "((constructors_sorted != 0) && (psVar19 = sets, sets != (set_info *)0x0))" ( (binary_expression "(constructors_sorted != 0) && (psVar19 = sets, sets != (set_info *)0x0)" (parenthesized_expression "(constructors_sorted != 0)" ( (binary_expression "constructors_sorted != 0" identifier != number_literal) )) && (parenthesized_expression "(psVar19 = sets, sets != (set_info *)0x0)" ( (comma_expression "psVar19 = sets, sets != (set_info *)0x0" (assignment_expression "psVar19 = sets" identifier = identifier) , (binary_expression "sets != (set_info *)0x0" identifier != (cast_expression "(set_info *)0x0" ( (type_descriptor "set_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    do {\n      psVar11 = psVar19->elements;\n      lVar14 = 0;\n      if (psVar11 != (set_element *)0x0) {\n        while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }\n        __base = (long *)xmalloc((long)iVar16 * 8);\n        plVar12 = __base;\n        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }\n        qsort(__base,(long)iVar16,8,ctor_cmp);\n        psVar19->elements = (set_element *)*__base;\n        plVar12 = __base;\n        if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }\n        *(undefined8 *)*plVar12 = 0;\n        free(__base);\n      }\n      psVar19 = psVar19->next;\n    } while (psVar19 != (set_info *)0x0);\n  }" { (do_statement "do {\n      psVar11 = psVar19->elements;\n      lVar14 = 0;\n      if (psVar11 != (set_element *)0x0) {\n        while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }\n        __base = (long *)xmalloc((long)iVar16 * 8);\n        plVar12 = __base;\n        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }\n        qsort(__base,(long)iVar16,8,ctor_cmp);\n        psVar19->elements = (set_element *)*__base;\n        plVar12 = __base;\n        if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }\n        *(undefined8 *)*plVar12 = 0;\n        free(__base);\n      }\n      psVar19 = psVar19->next;\n    } while (psVar19 != (set_info *)0x0);" do (compound_statement "{\n      psVar11 = psVar19->elements;\n      lVar14 = 0;\n      if (psVar11 != (set_element *)0x0) {\n        while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }\n        __base = (long *)xmalloc((long)iVar16 * 8);\n        plVar12 = __base;\n        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }\n        qsort(__base,(long)iVar16,8,ctor_cmp);\n        psVar19->elements = (set_element *)*__base;\n        plVar12 = __base;\n        if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }\n        *(undefined8 *)*plVar12 = 0;\n        free(__base);\n      }\n      psVar19 = psVar19->next;\n    }" { (expression_statement "psVar11 = psVar19->elements;" (assignment_expression "psVar11 = psVar19->elements" identifier = (field_expression "psVar19->elements" identifier -> field_identifier)) ;) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) (if_statement "if (psVar11 != (set_element *)0x0) {\n        while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }\n        __base = (long *)xmalloc((long)iVar16 * 8);\n        plVar12 = __base;\n        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }\n        qsort(__base,(long)iVar16,8,ctor_cmp);\n        psVar19->elements = (set_element *)*__base;\n        plVar12 = __base;\n        if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }\n        *(undefined8 *)*plVar12 = 0;\n        free(__base);\n      }" if (parenthesized_expression "(psVar11 != (set_element *)0x0)" ( (binary_expression "psVar11 != (set_element *)0x0" identifier != (cast_expression "(set_element *)0x0" ( (type_descriptor "set_element *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }\n        __base = (long *)xmalloc((long)iVar16 * 8);\n        plVar12 = __base;\n        for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }\n        qsort(__base,(long)iVar16,8,ctor_cmp);\n        psVar19->elements = (set_element *)*__base;\n        plVar12 = __base;\n        if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }\n        *(undefined8 *)*plVar12 = 0;\n        free(__base);\n      }" { (while_statement "while( true ) {\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          psVar11 = psVar11->next;\n          iVar18 = (int)lVar14;\n          iVar16 = iVar18 + 1;\n          if (psVar11 == (set_element *)0x0) break;\n          lVar14 = (long)iVar16;\n        }" { (expression_statement "psVar11 = psVar11->next;" (assignment_expression "psVar11 = psVar11->next" identifier = (field_expression "psVar11->next" identifier -> field_identifier)) ;) (expression_statement "iVar18 = (int)lVar14;" (assignment_expression "iVar18 = (int)lVar14" identifier = (cast_expression "(int)lVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar16 = iVar18 + 1;" (assignment_expression "iVar16 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (if_statement "if (psVar11 == (set_element *)0x0) break;" if (parenthesized_expression "(psVar11 == (set_element *)0x0)" ( (binary_expression "psVar11 == (set_element *)0x0" identifier == (cast_expression "(set_element *)0x0" ( (type_descriptor "set_element *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "lVar14 = (long)iVar16;" (assignment_expression "lVar14 = (long)iVar16" identifier = (cast_expression "(long)iVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) })) (expression_statement "__base = (long *)xmalloc((long)iVar16 * 8);" (assignment_expression "__base = (long *)xmalloc((long)iVar16 * 8)" identifier = (cast_expression "(long *)xmalloc((long)iVar16 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((long)iVar16 * 8)" identifier (argument_list "((long)iVar16 * 8)" ( (binary_expression "(long)iVar16 * 8" (cast_expression "(long)iVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) ))))) ;) (expression_statement "plVar12 = __base;" (assignment_expression "plVar12 = __base" identifier = identifier) ;) (for_statement "for (psVar11 = psVar19->elements; psVar11 != (set_element *)0x0; psVar11 = psVar11->next) {\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }" for ( (assignment_expression "psVar11 = psVar19->elements" identifier = (field_expression "psVar19->elements" identifier -> field_identifier)) ; (binary_expression "psVar11 != (set_element *)0x0" identifier != (cast_expression "(set_element *)0x0" ( (type_descriptor "set_element *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "psVar11 = psVar11->next" identifier = (field_expression "psVar11->next" identifier -> field_identifier)) ) (compound_statement "{\n          *plVar12 = (long)psVar11;\n          plVar12 = plVar12 + 1;\n        }" { (expression_statement "*plVar12 = (long)psVar11;" (assignment_expression "*plVar12 = (long)psVar11" (pointer_expression "*plVar12" * identifier) = (cast_expression "(long)psVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar12 = plVar12 + 1;" (assignment_expression "plVar12 = plVar12 + 1" identifier = (binary_expression "plVar12 + 1" identifier + number_literal)) ;) })) (expression_statement "qsort(__base,(long)iVar16,8,ctor_cmp);" (call_expression "qsort(__base,(long)iVar16,8,ctor_cmp)" identifier (argument_list "(__base,(long)iVar16,8,ctor_cmp)" ( identifier , (cast_expression "(long)iVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal , identifier ))) ;) (expression_statement "psVar19->elements = (set_element *)*__base;" (assignment_expression "psVar19->elements = (set_element *)*__base" (field_expression "psVar19->elements" identifier -> field_identifier) = (cast_expression "(set_element *)*__base" ( (type_descriptor "set_element *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*__base" * identifier))) ;) (expression_statement "plVar12 = __base;" (assignment_expression "plVar12 = __base" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);\n          plVar12 = __base + lVar14;\n        }" { (do_statement "do {\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          } while (__base + (ulong)(iVar18 - 1) + 1 != plVar12);" do (compound_statement "{\n            plVar2 = (long *)*plVar12;\n            plVar1 = plVar12 + 1;\n            plVar12 = plVar12 + 1;\n            *plVar2 = *plVar1;\n          }" { (expression_statement "plVar2 = (long *)*plVar12;" (assignment_expression "plVar2 = (long *)*plVar12" identifier = (cast_expression "(long *)*plVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar12" * identifier))) ;) (expression_statement "plVar1 = plVar12 + 1;" (assignment_expression "plVar1 = plVar12 + 1" identifier = (binary_expression "plVar12 + 1" identifier + number_literal)) ;) (expression_statement "plVar12 = plVar12 + 1;" (assignment_expression "plVar12 = plVar12 + 1" identifier = (binary_expression "plVar12 + 1" identifier + number_literal)) ;) (expression_statement "*plVar2 = *plVar1;" (assignment_expression "*plVar2 = *plVar1" (pointer_expression "*plVar2" * identifier) = (pointer_expression "*plVar1" * identifier)) ;) }) while (parenthesized_expression "(__base + (ulong)(iVar18 - 1) + 1 != plVar12)" ( (binary_expression "__base + (ulong)(iVar18 - 1) + 1 != plVar12" (binary_expression "__base + (ulong)(iVar18 - 1) + 1" (binary_expression "__base + (ulong)(iVar18 - 1)" identifier + (call_expression "(ulong)(iVar18 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar18 - 1)" ( (binary_expression "iVar18 - 1" identifier - number_literal) )))) + number_literal) != identifier) )) ;) (expression_statement "plVar12 = __base + lVar14;" (assignment_expression "plVar12 = __base + lVar14" identifier = (binary_expression "__base + lVar14" identifier + identifier)) ;) })) (expression_statement "*(undefined8 *)*plVar12 = 0;" (assignment_expression "*(undefined8 *)*plVar12 = 0" (pointer_expression "*(undefined8 *)*plVar12" * (cast_expression "(undefined8 *)*plVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar12" * identifier))) = number_literal) ;) (expression_statement "free(__base);" (call_expression "free(__base)" identifier (argument_list "(__base)" ( identifier ))) ;) })) (expression_statement "psVar19 = psVar19->next;" (assignment_expression "psVar19 = psVar19->next" identifier = (field_expression "psVar19->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(psVar19 != (set_info *)0x0)" ( (binary_expression "psVar19 != (set_info *)0x0" identifier != (cast_expression "(set_info *)0x0" ( (type_descriptor "set_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "lang_list_init(&constructor_list);" (call_expression "lang_list_init(&constructor_list)" identifier (argument_list "(&constructor_list)" ( (pointer_expression "&constructor_list" & identifier) ))) ;) (expression_statement "push_stat_ptr(&constructor_list);" (call_expression "push_stat_ptr(&constructor_list)" identifier (argument_list "(&constructor_list)" ( (pointer_expression "&constructor_list" & identifier) ))) ;) (expression_statement "psVar19 = sets;" (assignment_expression "psVar19 = sets" identifier = identifier) ;) (labeled_statement "joined_r0x0011eaf9:\n  do {\n    if (psVar19 == (set_info *)0x0) {\n      pop_stat_ptr();\n      return;\n    }\n    if (1 < (byte)(psVar19->h->field_0x18 - 3)) {\n      howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);\n      if (howto == (reloc_howto_type *)0x0) {\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(howto);\n      if (uVar4 == 2) {\n        iVar18 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }\n      peVar6 = exp_intop((long)(int)uVar4);\n      peVar6 = exp_unop(0x117,peVar6);\n      peVar6 = exp_assign(".",peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_nameop(0x103,".");\n      peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_intop(psVar19->count);\n      lang_add_data(iVar18,peVar6);\n      psVar11 = psVar19->elements;\n      while (psVar11 != (set_element *)0x0) {\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }\n      peVar6 = exp_intop(0);\n      lang_add_data(iVar18,peVar6);\n    }\n    psVar19 = psVar19->next;\n  } while( true );" statement_identifier : (do_statement "do {\n    if (psVar19 == (set_info *)0x0) {\n      pop_stat_ptr();\n      return;\n    }\n    if (1 < (byte)(psVar19->h->field_0x18 - 3)) {\n      howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);\n      if (howto == (reloc_howto_type *)0x0) {\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(howto);\n      if (uVar4 == 2) {\n        iVar18 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }\n      peVar6 = exp_intop((long)(int)uVar4);\n      peVar6 = exp_unop(0x117,peVar6);\n      peVar6 = exp_assign(".",peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_nameop(0x103,".");\n      peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_intop(psVar19->count);\n      lang_add_data(iVar18,peVar6);\n      psVar11 = psVar19->elements;\n      while (psVar11 != (set_element *)0x0) {\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }\n      peVar6 = exp_intop(0);\n      lang_add_data(iVar18,peVar6);\n    }\n    psVar19 = psVar19->next;\n  } while( true );" do (compound_statement "{\n    if (psVar19 == (set_info *)0x0) {\n      pop_stat_ptr();\n      return;\n    }\n    if (1 < (byte)(psVar19->h->field_0x18 - 3)) {\n      howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);\n      if (howto == (reloc_howto_type *)0x0) {\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(howto);\n      if (uVar4 == 2) {\n        iVar18 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }\n      peVar6 = exp_intop((long)(int)uVar4);\n      peVar6 = exp_unop(0x117,peVar6);\n      peVar6 = exp_assign(".",peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_nameop(0x103,".");\n      peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_intop(psVar19->count);\n      lang_add_data(iVar18,peVar6);\n      psVar11 = psVar19->elements;\n      while (psVar11 != (set_element *)0x0) {\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }\n      peVar6 = exp_intop(0);\n      lang_add_data(iVar18,peVar6);\n    }\n    psVar19 = psVar19->next;\n  }" { (if_statement "if (psVar19 == (set_info *)0x0) {\n      pop_stat_ptr();\n      return;\n    }" if (parenthesized_expression "(psVar19 == (set_info *)0x0)" ( (binary_expression "psVar19 == (set_info *)0x0" identifier == (cast_expression "(set_info *)0x0" ( (type_descriptor "set_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pop_stat_ptr();\n      return;\n    }" { (expression_statement "pop_stat_ptr();" (call_expression "pop_stat_ptr()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (1 < (byte)(psVar19->h->field_0x18 - 3)) {\n      howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);\n      if (howto == (reloc_howto_type *)0x0) {\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(howto);\n      if (uVar4 == 2) {\n        iVar18 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }\n      peVar6 = exp_intop((long)(int)uVar4);\n      peVar6 = exp_unop(0x117,peVar6);\n      peVar6 = exp_assign(".",peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_nameop(0x103,".");\n      peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_intop(psVar19->count);\n      lang_add_data(iVar18,peVar6);\n      psVar11 = psVar19->elements;\n      while (psVar11 != (set_element *)0x0) {\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }\n      peVar6 = exp_intop(0);\n      lang_add_data(iVar18,peVar6);\n    }" if (parenthesized_expression "(1 < (byte)(psVar19->h->field_0x18 - 3))" ( (binary_expression "1 < (byte)(psVar19->h->field_0x18 - 3)" number_literal < (call_expression "(byte)(psVar19->h->field_0x18 - 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(psVar19->h->field_0x18 - 3)" ( (binary_expression "psVar19->h->field_0x18 - 3" (field_expression "psVar19->h->field_0x18" (field_expression "psVar19->h" identifier -> field_identifier) -> field_identifier) - number_literal) )))) )) (compound_statement "{\n      howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);\n      if (howto == (reloc_howto_type *)0x0) {\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(howto);\n      if (uVar4 == 2) {\n        iVar18 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }\n      peVar6 = exp_intop((long)(int)uVar4);\n      peVar6 = exp_unop(0x117,peVar6);\n      peVar6 = exp_assign(".",peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_nameop(0x103,".");\n      peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);\n      lang_add_assignment(peVar6);\n      peVar6 = exp_intop(psVar19->count);\n      lang_add_data(iVar18,peVar6);\n      psVar11 = psVar19->elements;\n      while (psVar11 != (set_element *)0x0) {\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }\n      peVar6 = exp_intop(0);\n      lang_add_data(iVar18,peVar6);\n    }" { (expression_statement "howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc);" (assignment_expression "howto = (reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc)" identifier = (cast_expression "(reloc_howto_type *)bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc)" ( (type_descriptor "reloc_howto_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_reloc_type_lookup(link_info.output_bfd,psVar19->reloc)" identifier (argument_list "(link_info.output_bfd,psVar19->reloc)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , (field_expression "psVar19->reloc" identifier -> field_identifier) ))))) ;) (if_statement "if (howto == (reloc_howto_type *)0x0) {\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }" if (parenthesized_expression "(howto == (reloc_howto_type *)0x0)" ( (binary_expression "howto == (reloc_howto_type *)0x0" identifier == (cast_expression "(reloc_howto_type *)0x0" ( (type_descriptor "reloc_howto_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        bVar15 = psVar19->reloc;\n        if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }\nLAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);\n        einfo(pcVar17,pcVar9,uVar13,pcVar8);\n        psVar19 = psVar19->next;\n        goto joined_r0x0011eaf9;\n      }" { (expression_statement "bVar15 = psVar19->reloc;" (assignment_expression "bVar15 = psVar19->reloc" identifier = (field_expression "psVar19->reloc" identifier -> field_identifier)) ;) (if_statement "if ((link_info._0_1_ & 3) == 2) {\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }\n        else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }" if (parenthesized_expression "((link_info._0_1_ & 3) == 2)" ( (binary_expression "(link_info._0_1_ & 3) == 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          pcVar8 = (psVar19->h->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n          pcVar9 = (link_info.output_bfd)->xvec->name;\n        }" { (expression_statement "pcVar8 = (psVar19->h->root).string;" (assignment_expression "pcVar8 = (psVar19->h->root).string" identifier = (field_expression "(psVar19->h->root).string" (parenthesized_expression "(psVar19->h->root)" ( (field_expression "psVar19->h->root" (field_expression "psVar19->h" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar13 = bfd_get_reloc_code_name(bVar15);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(bVar15)" identifier = (call_expression "bfd_get_reloc_code_name(bVar15)" identifier (argument_list "(bVar15)" ( identifier )))) ;) (expression_statement "pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar17 = "%X%P: %s does not support reloc %s for set %s\n"" identifier = (string_literal ""%X%P: %s does not support reloc %s for set %s\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar9 = (link_info.output_bfd)->xvec->name;" (assignment_expression "pcVar9 = (link_info.output_bfd)->xvec->name" identifier = (field_expression "(link_info.output_bfd)->xvec->name" (field_expression "(link_info.output_bfd)->xvec" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) -> field_identifier)) ;) }) (else_clause "else {\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }" else (compound_statement "{\n          if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }\n          pcVar8 = (pbVar10->root).string;\n          uVar13 = bfd_get_reloc_code_name(bVar15);\n          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          pcVar9 = psVar19->elements->section->name;\n        }" { (if_statement "if (psVar19->elements->section->owner == (bfd *)0x0) {\n            pbVar10 = psVar19->h;\n          }\n          else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }" if (parenthesized_expression "(psVar19->elements->section->owner == (bfd *)0x0)" ( (binary_expression "psVar19->elements->section->owner == (bfd *)0x0" (field_expression "psVar19->elements->section->owner" (field_expression "psVar19->elements->section" (field_expression "psVar19->elements" identifier -> field_identifier) -> field_identifier) -> field_identifier) == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pbVar10 = psVar19->h;\n          }" { (expression_statement "pbVar10 = psVar19->h;" (assignment_expression "pbVar10 = psVar19->h" identifier = (field_expression "psVar19->h" identifier -> field_identifier)) ;) }) (else_clause "else {\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }" else (compound_statement "{\n            howto = (reloc_howto_type *)bfd_reloc_type_lookup();\n            if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;\n            pbVar10 = psVar19->h;\n            bVar15 = psVar19->reloc;\n            pcVar8 = (pbVar10->root).string;\n            if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }\n          }" { (expression_statement "howto = (reloc_howto_type *)bfd_reloc_type_lookup();" (assignment_expression "howto = (reloc_howto_type *)bfd_reloc_type_lookup()" identifier = (cast_expression "(reloc_howto_type *)bfd_reloc_type_lookup()" ( (type_descriptor "reloc_howto_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_reloc_type_lookup()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (howto != (reloc_howto_type *)0x0) goto LAB_0011eb6f;" if (parenthesized_expression "(howto != (reloc_howto_type *)0x0)" ( (binary_expression "howto != (reloc_howto_type *)0x0" identifier != (cast_expression "(reloc_howto_type *)0x0" ( (type_descriptor "reloc_howto_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011eb6f;" goto statement_identifier ;)) (expression_statement "pbVar10 = psVar19->h;" (assignment_expression "pbVar10 = psVar19->h" identifier = (field_expression "psVar19->h" identifier -> field_identifier)) ;) (expression_statement "bVar15 = psVar19->reloc;" (assignment_expression "bVar15 = psVar19->reloc" identifier = (field_expression "psVar19->reloc" identifier -> field_identifier)) ;) (expression_statement "pcVar8 = (pbVar10->root).string;" (assignment_expression "pcVar8 = (pbVar10->root).string" identifier = (field_expression "(pbVar10->root).string" (parenthesized_expression "(pbVar10->root)" ( (field_expression "pbVar10->root" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (psVar19->elements->section->owner != (bfd *)0x0) {\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }" if (parenthesized_expression "(psVar19->elements->section->owner != (bfd *)0x0)" ( (binary_expression "psVar19->elements->section->owner != (bfd *)0x0" (field_expression "psVar19->elements->section->owner" (field_expression "psVar19->elements->section" (field_expression "psVar19->elements" identifier -> field_identifier) -> field_identifier) -> field_identifier) != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar13 = bfd_get_reloc_code_name(bVar15);\n              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";\n              pcVar9 = psVar19->elements->section->owner->xvec->name;\n              goto LAB_0011ee49;\n            }" { (expression_statement "uVar13 = bfd_get_reloc_code_name(bVar15);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(bVar15)" identifier = (call_expression "bfd_get_reloc_code_name(bVar15)" identifier (argument_list "(bVar15)" ( identifier )))) ;) (expression_statement "pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar17 = "%X%P: %s does not support reloc %s for set %s\n"" identifier = (string_literal ""%X%P: %s does not support reloc %s for set %s\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar9 = psVar19->elements->section->owner->xvec->name;" (assignment_expression "pcVar9 = psVar19->elements->section->owner->xvec->name" identifier = (field_expression "psVar19->elements->section->owner->xvec->name" (field_expression "psVar19->elements->section->owner->xvec" (field_expression "psVar19->elements->section->owner" (field_expression "psVar19->elements->section" (field_expression "psVar19->elements" identifier -> field_identifier) -> field_identifier) -> field_identifier) -> field_identifier) -> field_identifier)) ;) (goto_statement "goto LAB_0011ee49;" goto statement_identifier ;) })) }))) (expression_statement "pcVar8 = (pbVar10->root).string;" (assignment_expression "pcVar8 = (pbVar10->root).string" identifier = (field_expression "(pbVar10->root).string" (parenthesized_expression "(pbVar10->root)" ( (field_expression "pbVar10->root" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar13 = bfd_get_reloc_code_name(bVar15);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(bVar15)" identifier = (call_expression "bfd_get_reloc_code_name(bVar15)" identifier (argument_list "(bVar15)" ( identifier )))) ;) (expression_statement "pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n"" identifier = (string_literal ""%X%P: special section %s does not support reloc %s for set %s\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar9 = psVar19->elements->section->name;" (assignment_expression "pcVar9 = psVar19->elements->section->name" identifier = (field_expression "psVar19->elements->section->name" (field_expression "psVar19->elements->section" (field_expression "psVar19->elements" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) }))) (labeled_statement "LAB_0011ee49:\n        pcVar17 = (char *)dcgettext(0,pcVar17,5);" statement_identifier : (expression_statement "pcVar17 = (char *)dcgettext(0,pcVar17,5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,pcVar17,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar17,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar17,5)" identifier (argument_list "(0,pcVar17,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "einfo(pcVar17,pcVar9,uVar13,pcVar8);" (call_expression "einfo(pcVar17,pcVar9,uVar13,pcVar8)" identifier (argument_list "(pcVar17,pcVar9,uVar13,pcVar8)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "psVar19 = psVar19->next;" (assignment_expression "psVar19 = psVar19->next" identifier = (field_expression "psVar19->next" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x0011eaf9;" goto statement_identifier ;) })) (labeled_statement "LAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(howto);" statement_identifier : (expression_statement "uVar4 = bfd_get_reloc_size(howto);" (assignment_expression "uVar4 = bfd_get_reloc_size(howto)" identifier = (call_expression "bfd_get_reloc_size(howto)" identifier (argument_list "(howto)" ( identifier )))) ;)) (if_statement "if (uVar4 == 2) {\n        iVar18 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }" if (parenthesized_expression "(uVar4 == 2)" ( (binary_expression "uVar4 == 2" identifier == number_literal) )) (compound_statement "{\n        iVar18 = 0x11d;\n      }" { (expression_statement "iVar18 = 0x11d;" (assignment_expression "iVar18 = 0x11d" identifier = number_literal) ;) }) (else_clause "else if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }" else (if_statement "if (uVar4 < 3) {\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }\n      else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }" if (parenthesized_expression "(uVar4 < 3)" ( (binary_expression "uVar4 < 3" identifier < number_literal) )) (compound_statement "{\n        iVar18 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }\n      }" { (expression_statement "iVar18 = 0x11e;" (assignment_expression "iVar18 = 0x11e" identifier = number_literal) ;) (if_statement "if (uVar4 != 1) {\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }" if (parenthesized_expression "(uVar4 != 1)" ( (binary_expression "uVar4 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;\n          uVar5 = bfd_get_reloc_size(howto);\n          pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar18 = 0x11c;\n          einfo(pcVar9,(ulong)uVar5,pcVar8);\n        }" { (labeled_statement "LAB_0011edcf:\n          pcVar8 = (psVar19->h->root).string;" statement_identifier : (expression_statement "pcVar8 = (psVar19->h->root).string;" (assignment_expression "pcVar8 = (psVar19->h->root).string" identifier = (field_expression "(psVar19->h->root).string" (parenthesized_expression "(psVar19->h->root)" ( (field_expression "psVar19->h->root" (field_expression "psVar19->h" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;)) (expression_statement "uVar5 = bfd_get_reloc_size(howto);" (assignment_expression "uVar5 = bfd_get_reloc_size(howto)" identifier = (call_expression "bfd_get_reloc_size(howto)" identifier (argument_list "(howto)" ( identifier )))) ;) (expression_statement "pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);" (assignment_expression "pcVar9 = (char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%X%P: unsupported size %d for set %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%X%P: unsupported size %d for set %s\n",5)" identifier (argument_list "(0,"%X%P: unsupported size %d for set %s\n",5)" ( number_literal , (string_literal ""%X%P: unsupported size %d for set %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "iVar18 = 0x11c;" (assignment_expression "iVar18 = 0x11c" identifier = number_literal) ;) (expression_statement "einfo(pcVar9,(ulong)uVar5,pcVar8);" (call_expression "einfo(pcVar9,(ulong)uVar5,pcVar8)" identifier (argument_list "(pcVar9,(ulong)uVar5,pcVar8)" ( identifier , (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) })) }) (else_clause "else {\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }" else (compound_statement "{\n        iVar18 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }\n      }" { (expression_statement "iVar18 = 0x11c;" (assignment_expression "iVar18 = 0x11c" identifier = number_literal) ;) (if_statement "if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }" if (parenthesized_expression "(uVar4 != 4)" ( (binary_expression "uVar4 != 4" identifier != number_literal) )) (compound_statement "{\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;\n        }" { (if_statement "if (uVar4 != 8) goto LAB_0011edcf;" if (parenthesized_expression "(uVar4 != 8)" ( (binary_expression "uVar4 != 8" identifier != number_literal) )) (goto_statement "goto LAB_0011edcf;" goto statement_identifier ;)) (expression_statement "iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a;" (assignment_expression "iVar18 = (howto->complain_on_overflow == complain_overflow_signed) + 0x11a" identifier = (binary_expression "(howto->complain_on_overflow == complain_overflow_signed) + 0x11a" (parenthesized_expression "(howto->complain_on_overflow == complain_overflow_signed)" ( (binary_expression "howto->complain_on_overflow == complain_overflow_signed" (field_expression "howto->complain_on_overflow" identifier -> field_identifier) == identifier) )) + number_literal)) ;) })) }))))) (expression_statement "peVar6 = exp_intop((long)(int)uVar4);" (assignment_expression "peVar6 = exp_intop((long)(int)uVar4)" identifier = (call_expression "exp_intop((long)(int)uVar4)" identifier (argument_list "((long)(int)uVar4)" ( (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "peVar6 = exp_unop(0x117,peVar6);" (assignment_expression "peVar6 = exp_unop(0x117,peVar6)" identifier = (call_expression "exp_unop(0x117,peVar6)" identifier (argument_list "(0x117,peVar6)" ( number_literal , identifier )))) ;) (expression_statement "peVar6 = exp_assign(".",peVar6,0);" (assignment_expression "peVar6 = exp_assign(".",peVar6,0)" identifier = (call_expression "exp_assign(".",peVar6,0)" identifier (argument_list "(".",peVar6,0)" ( (string_literal ""."" " string_content ") , identifier , number_literal )))) ;) (expression_statement "lang_add_assignment(peVar6);" (call_expression "lang_add_assignment(peVar6)" identifier (argument_list "(peVar6)" ( identifier ))) ;) (expression_statement "peVar6 = exp_nameop(0x103,".");" (assignment_expression "peVar6 = exp_nameop(0x103,".")" identifier = (call_expression "exp_nameop(0x103,".")" identifier (argument_list "(0x103,".")" ( number_literal , (string_literal ""."" " string_content ") )))) ;) (expression_statement "peVar6 = exp_assign((psVar19->h->root).string,peVar6,0);" (assignment_expression "peVar6 = exp_assign((psVar19->h->root).string,peVar6,0)" identifier = (call_expression "exp_assign((psVar19->h->root).string,peVar6,0)" identifier (argument_list "((psVar19->h->root).string,peVar6,0)" ( (field_expression "(psVar19->h->root).string" (parenthesized_expression "(psVar19->h->root)" ( (field_expression "psVar19->h->root" (field_expression "psVar19->h" identifier -> field_identifier) -> field_identifier) )) . field_identifier) , identifier , number_literal )))) ;) (expression_statement "lang_add_assignment(peVar6);" (call_expression "lang_add_assignment(peVar6)" identifier (argument_list "(peVar6)" ( identifier ))) ;) (expression_statement "peVar6 = exp_intop(psVar19->count);" (assignment_expression "peVar6 = exp_intop(psVar19->count)" identifier = (call_expression "exp_intop(psVar19->count)" identifier (argument_list "(psVar19->count)" ( (field_expression "psVar19->count" identifier -> field_identifier) )))) ;) (expression_statement "lang_add_data(iVar18,peVar6);" (call_expression "lang_add_data(iVar18,peVar6)" identifier (argument_list "(iVar18,peVar6)" ( identifier , identifier ))) ;) (expression_statement "psVar11 = psVar19->elements;" (assignment_expression "psVar11 = psVar19->elements" identifier = (field_expression "psVar19->elements" identifier -> field_identifier)) ;) (while_statement "while (psVar11 != (set_element *)0x0) {\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }" while (parenthesized_expression "(psVar11 != (set_element *)0x0)" ( (binary_expression "psVar11 != (set_element *)0x0" identifier != (cast_expression "(set_element *)0x0" ( (type_descriptor "set_element *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }\n        section = psVar11->section;\n        if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }\n        if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }\n      }" { (if_statement "if (config.map_file != (FILE *)0x0) {\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }" if (parenthesized_expression "(config.map_file != (FILE *)0x0)" ( (binary_expression "config.map_file != (FILE *)0x0" (field_expression "config.map_file" identifier . field_identifier) != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }\n          minfo("%s",(psVar19->h->root).string);\n          sVar7 = strlen((psVar19->h->root).string);\n          uVar20 = sVar7 & 0xffffffff;\n          if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }\n          do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }\n        }" { (if_statement "if (!bVar3) {\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n            pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);\n            minfo(pcVar8);\n          }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"\nSet                 Symbol\n\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSet                 Symbol\n\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSet                 Symbol\n\n",5)" identifier (argument_list "(0,"\nSet                 Symbol\n\n",5)" ( number_literal , (string_literal ""\nSet                 Symbol\n\n"" " escape_sequence string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "minfo(pcVar8);" (call_expression "minfo(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;) })) (expression_statement "minfo("%s",(psVar19->h->root).string);" (call_expression "minfo("%s",(psVar19->h->root).string)" identifier (argument_list "("%s",(psVar19->h->root).string)" ( (string_literal ""%s"" " string_content ") , (field_expression "(psVar19->h->root).string" (parenthesized_expression "(psVar19->h->root)" ( (field_expression "psVar19->h->root" (field_expression "psVar19->h" identifier -> field_identifier) -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "sVar7 = strlen((psVar19->h->root).string);" (assignment_expression "sVar7 = strlen((psVar19->h->root).string)" identifier = (call_expression "strlen((psVar19->h->root).string)" identifier (argument_list "((psVar19->h->root).string)" ( (field_expression "(psVar19->h->root).string" (parenthesized_expression "(psVar19->h->root)" ( (field_expression "psVar19->h->root" (field_expression "psVar19->h" identifier -> field_identifier) -> field_identifier) )) . field_identifier) )))) ;) (expression_statement "uVar20 = sVar7 & 0xffffffff;" (assignment_expression "uVar20 = sVar7 & 0xffffffff" identifier = (binary_expression "sVar7 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (0x12 < (int)sVar7) {\n            print_nl();\n            uVar20 = 0;\n          }" if (parenthesized_expression "(0x12 < (int)sVar7)" ( (binary_expression "0x12 < (int)sVar7" number_literal < (cast_expression "(int)sVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            print_nl();\n            uVar20 = 0;\n          }" { (expression_statement "print_nl();" (call_expression "print_nl()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) })) (do_statement "do {\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          } while (uVar4 != 0x14);" do (compound_statement "{\n            print_space();\n            uVar4 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar4;\n          }" { (expression_statement "print_space();" (call_expression "print_space()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = (int)uVar20 + 1;" (assignment_expression "uVar4 = (int)uVar20 + 1" identifier = (binary_expression "(int)uVar20 + 1" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar20 = (ulong)uVar4;" (assignment_expression "uVar20 = (ulong)uVar4" identifier = (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(uVar4 != 0x14)" ( (binary_expression "uVar4 != 0x14" identifier != number_literal) )) ;) (if_statement "if (psVar11->name == (char *)0x0) {\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }\n          else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }" if (parenthesized_expression "(psVar11->name == (char *)0x0)" ( (binary_expression "psVar11->name == (char *)0x0" (field_expression "psVar11->name" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            bVar3 = true;\n            minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);\n          }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value);" (call_expression "minfo("%G\n",psVar11->section->owner,psVar11->section,psVar11->value)" identifier (argument_list "("%G\n",psVar11->section->owner,psVar11->section,psVar11->value)" ( (string_literal ""%G\n"" " string_content escape_sequence ") , (field_expression "psVar11->section->owner" (field_expression "psVar11->section" identifier -> field_identifier) -> field_identifier) , (field_expression "psVar11->section" identifier -> field_identifier) , (field_expression "psVar11->value" identifier -> field_identifier) ))) ;) }) (else_clause "else {\n            bVar3 = true;\n            minfo("%pT\n");\n          }" else (compound_statement "{\n            bVar3 = true;\n            minfo("%pT\n");\n          }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "minfo("%pT\n");" (call_expression "minfo("%pT\n")" identifier (argument_list "("%pT\n")" ( (string_literal ""%pT\n"" " string_content escape_sequence ") ))) ;) }))) })) (expression_statement "section = psVar11->section;" (assignment_expression "section = psVar11->section" identifier = (field_expression "psVar11->section" identifier -> field_identifier)) ;) (if_statement "if (section != (asection *)(_bfd_std_section + 0x230)) {\n          section->flags = section->flags | 0x200000;\n        }" if (parenthesized_expression "(section != (asection *)(_bfd_std_section + 0x230))" ( (binary_expression "section != (asection *)(_bfd_std_section + 0x230)" identifier != (cast_expression "(asection *)(_bfd_std_section + 0x230)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) )))) )) (compound_statement "{\n          section->flags = section->flags | 0x200000;\n        }" { (expression_statement "section->flags = section->flags | 0x200000;" (assignment_expression "section->flags = section->flags | 0x200000" (field_expression "section->flags" identifier -> field_identifier) = (binary_expression "section->flags | 0x200000" (field_expression "section->flags" identifier -> field_identifier) | number_literal)) ;) })) (if_statement "if ((link_info._0_1_ & 3) == 2) {\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }\n        else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }" if (parenthesized_expression "((link_info._0_1_ & 3) == 2)" ( (binary_expression "(link_info._0_1_ & 3) == 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          peVar6 = exp_intop(psVar11->value);\n          lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);\n          psVar11 = psVar11->next;\n        }" { (expression_statement "peVar6 = exp_intop(psVar11->value);" (assignment_expression "peVar6 = exp_intop(psVar11->value)" identifier = (call_expression "exp_intop(psVar11->value)" identifier (argument_list "(psVar11->value)" ( (field_expression "psVar11->value" identifier -> field_identifier) )))) ;) (expression_statement "lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6);" (call_expression "lang_add_reloc(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6)" identifier (argument_list "(psVar19->reloc,howto,psVar11->section,psVar11->name,peVar6)" ( (field_expression "psVar19->reloc" identifier -> field_identifier) , identifier , (field_expression "psVar11->section" identifier -> field_identifier) , (field_expression "psVar11->name" identifier -> field_identifier) , identifier ))) ;) (expression_statement "psVar11 = psVar11->next;" (assignment_expression "psVar11 = psVar11->next" identifier = (field_expression "psVar11->next" identifier -> field_identifier)) ;) }) (else_clause "else {\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }" else (compound_statement "{\n          peVar6 = exp_relop(section,psVar11->value);\n          lang_add_data(iVar18,peVar6);\n          psVar11 = psVar11->next;\n        }" { (expression_statement "peVar6 = exp_relop(section,psVar11->value);" (assignment_expression "peVar6 = exp_relop(section,psVar11->value)" identifier = (call_expression "exp_relop(section,psVar11->value)" identifier (argument_list "(section,psVar11->value)" ( identifier , (field_expression "psVar11->value" identifier -> field_identifier) )))) ;) (expression_statement "lang_add_data(iVar18,peVar6);" (call_expression "lang_add_data(iVar18,peVar6)" identifier (argument_list "(iVar18,peVar6)" ( identifier , identifier ))) ;) (expression_statement "psVar11 = psVar11->next;" (assignment_expression "psVar11 = psVar11->next" identifier = (field_expression "psVar11->next" identifier -> field_identifier)) ;) }))) })) (expression_statement "peVar6 = exp_intop(0);" (assignment_expression "peVar6 = exp_intop(0)" identifier = (call_expression "exp_intop(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "lang_add_data(iVar18,peVar6);" (call_expression "lang_add_data(iVar18,peVar6)" identifier (argument_list "(iVar18,peVar6)" ( identifier , identifier ))) ;) })) (expression_statement "psVar19 = psVar19->next;" (assignment_expression "psVar19 = psVar19->next" identifier = (field_expression "psVar19->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "void FUN_0011eaa0(void)\n\n{\n  uint *puVar1;\n  undefined8 *puVar2;\n  bool bVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  long lVar6;\n  undefined8 uVar7;\n  size_t sVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  undefined8 *__base;\n  undefined8 *puVar12;\n  undefined8 uVar13;\n  undefined8 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  \n  if (DAT_0017f578 != 0) {\n    return;\n  }\n  DAT_0017f578 = 1;\n  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }\n  bVar3 = false;\n  FUN_00115b30(&DAT_0017fa80);\n  FUN_00115b40(&DAT_0017fa80);\n  puVar18 = DAT_0017fa70;\njoined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );\n}\n\n" (function_definition "void FUN_0011eaa0(void)\n\n{\n  uint *puVar1;\n  undefined8 *puVar2;\n  bool bVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  long lVar6;\n  undefined8 uVar7;\n  size_t sVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  undefined8 *__base;\n  undefined8 *puVar12;\n  undefined8 uVar13;\n  undefined8 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  \n  if (DAT_0017f578 != 0) {\n    return;\n  }\n  DAT_0017f578 = 1;\n  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }\n  bVar3 = false;\n  FUN_00115b30(&DAT_0017fa80);\n  FUN_00115b40(&DAT_0017fa80);\n  puVar18 = DAT_0017fa70;\njoined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );\n}" primitive_type (function_declarator "FUN_0011eaa0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint *puVar1;\n  undefined8 *puVar2;\n  bool bVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  long lVar6;\n  undefined8 uVar7;\n  size_t sVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  undefined8 *__base;\n  undefined8 *puVar12;\n  undefined8 uVar13;\n  undefined8 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  \n  if (DAT_0017f578 != 0) {\n    return;\n  }\n  DAT_0017f578 = 1;\n  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }\n  bVar3 = false;\n  FUN_00115b30(&DAT_0017fa80);\n  FUN_00115b40(&DAT_0017fa80);\n  puVar18 = DAT_0017fa70;\njoined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "long *plVar11;" (sized_type_specifier "long" long) (pointer_declarator "*plVar11" * identifier) ;) (declaration "undefined8 *__base;" type_identifier (pointer_declarator "*__base" * identifier) ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "undefined8 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined8 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "ulong uVar19;" type_identifier identifier ;) (if_statement "if (DAT_0017f578 != 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_0017f578 != 0)" ( (binary_expression "DAT_0017f578 != 0" identifier != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "DAT_0017f578 = 1;" (assignment_expression "DAT_0017f578 = 1" identifier = number_literal) ;) (if_statement "if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }" if (parenthesized_expression "((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0))" ( (binary_expression "(DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)" (parenthesized_expression "(DAT_0017fa90 != 0)" ( (binary_expression "DAT_0017fa90 != 0" identifier != number_literal) )) && (parenthesized_expression "(puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)" ( (comma_expression "puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0" (assignment_expression "puVar18 = DAT_0017fa70" identifier = identifier) , (binary_expression "DAT_0017fa70 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }" { (do_statement "do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);" do (compound_statement "{\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    }" { (expression_statement "plVar11 = (long *)puVar18[4];" (assignment_expression "plVar11 = (long *)puVar18[4]" identifier = (cast_expression "(long *)puVar18[4]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[4]" identifier [ number_literal ]))) ;) (expression_statement "lVar6 = 0;" (assignment_expression "lVar6 = 0" identifier = number_literal) ;) (if_statement "if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }" if (parenthesized_expression "(plVar11 != (long *)0x0)" ( (binary_expression "plVar11 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }" { (while_statement "while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }" { (expression_statement "plVar11 = (long *)*plVar11;" (assignment_expression "plVar11 = (long *)*plVar11" identifier = (cast_expression "(long *)*plVar11" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar11" * identifier))) ;) (expression_statement "iVar17 = (int)lVar6;" (assignment_expression "iVar17 = (int)lVar6" identifier = (cast_expression "(int)lVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar15 = iVar17 + 1;" (assignment_expression "iVar15 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (if_statement "if (plVar11 == (long *)0x0) break;" if (parenthesized_expression "(plVar11 == (long *)0x0)" ( (binary_expression "plVar11 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = (long)iVar15;" (assignment_expression "lVar6 = (long)iVar15" identifier = (cast_expression "(long)iVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) })) (expression_statement "__base = (undefined8 *)xmalloc((long)iVar15 * 8);" (assignment_expression "__base = (undefined8 *)xmalloc((long)iVar15 * 8)" identifier = (cast_expression "(undefined8 *)xmalloc((long)iVar15 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((long)iVar15 * 8)" identifier (argument_list "((long)iVar15 * 8)" ( (binary_expression "(long)iVar15 * 8" (cast_expression "(long)iVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) ))))) ;) (expression_statement "puVar14 = __base;" (assignment_expression "puVar14 = __base" identifier = identifier) ;) (for_statement "for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }" for ( (assignment_expression "puVar12 = (undefined8 *)puVar18[4]" identifier = (cast_expression "(undefined8 *)puVar18[4]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[4]" identifier [ number_literal ]))) ; (binary_expression "puVar12 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar12 = (undefined8 *)*puVar12" identifier = (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ) (compound_statement "{\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }" { (expression_statement "*puVar14 = puVar12;" (assignment_expression "*puVar14 = puVar12" (pointer_expression "*puVar14" * identifier) = identifier) ;) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) })) (expression_statement "qsort(__base,(long)iVar15,8,FUN_0011e8a0);" (call_expression "qsort(__base,(long)iVar15,8,FUN_0011e8a0)" identifier (argument_list "(__base,(long)iVar15,8,FUN_0011e8a0)" ( identifier , (cast_expression "(long)iVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal , identifier ))) ;) (expression_statement "puVar18[4] = *__base;" (assignment_expression "puVar18[4] = *__base" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = (pointer_expression "*__base" * identifier)) ;) (expression_statement "puVar12 = __base;" (assignment_expression "puVar12 = __base" identifier = identifier) ;) (if_statement "if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }" { (do_statement "do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);" do (compound_statement "{\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          }" { (expression_statement "puVar2 = (undefined8 *)*puVar12;" (assignment_expression "puVar2 = (undefined8 *)*puVar12" identifier = (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) (expression_statement "puVar14 = puVar12 + 1;" (assignment_expression "puVar14 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "*puVar2 = *puVar14;" (assignment_expression "*puVar2 = *puVar14" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) }) while (parenthesized_expression "(__base + (ulong)(iVar17 - 1) + 1 != puVar12)" ( (binary_expression "__base + (ulong)(iVar17 - 1) + 1 != puVar12" (binary_expression "__base + (ulong)(iVar17 - 1) + 1" (binary_expression "__base + (ulong)(iVar17 - 1)" identifier + (call_expression "(ulong)(iVar17 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar17 - 1)" ( (binary_expression "iVar17 - 1" identifier - number_literal) )))) + number_literal) != identifier) )) ;) (expression_statement "puVar12 = __base + lVar6;" (assignment_expression "puVar12 = __base + lVar6" identifier = (binary_expression "__base + lVar6" identifier + identifier)) ;) })) (expression_statement "*(undefined8 *)*puVar12 = 0;" (assignment_expression "*(undefined8 *)*puVar12 = 0" (pointer_expression "*(undefined8 *)*puVar12" * (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) = number_literal) ;) (expression_statement "free(__base);" (call_expression "free(__base)" identifier (argument_list "(__base)" ( identifier ))) ;) })) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) }) while (parenthesized_expression "(puVar18 != (undefined8 *)0x0)" ( (binary_expression "puVar18 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "FUN_00115b30(&DAT_0017fa80);" (call_expression "FUN_00115b30(&DAT_0017fa80)" identifier (argument_list "(&DAT_0017fa80)" ( (pointer_expression "&DAT_0017fa80" & identifier) ))) ;) (expression_statement "FUN_00115b40(&DAT_0017fa80);" (call_expression "FUN_00115b40(&DAT_0017fa80)" identifier (argument_list "(&DAT_0017fa80)" ( (pointer_expression "&DAT_0017fa80" & identifier) ))) ;) (expression_statement "puVar18 = DAT_0017fa70;" (assignment_expression "puVar18 = DAT_0017fa70" identifier = identifier) ;) (labeled_statement "joined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );" statement_identifier : (do_statement "do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );" do (compound_statement "{\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  }" { (if_statement "if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }" if (parenthesized_expression "(puVar18 == (undefined8 *)0x0)" ( (binary_expression "puVar18 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00115b80();\n      return;\n    }" { (expression_statement "FUN_00115b80();" (call_expression "FUN_00115b80()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }" if (parenthesized_expression "(1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U))" ( (binary_expression "1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)" number_literal < (call_expression "(byte)(*(char *)(puVar18[1] + 0x18) - 3U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(char *)(puVar18[1] + 0x18) - 3U)" ( (binary_expression "*(char *)(puVar18[1] + 0x18) - 3U" (pointer_expression "*(char *)(puVar18[1] + 0x18)" * (cast_expression "(char *)(puVar18[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 0x18)" ( (binary_expression "puVar18[1] + 0x18" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) )))) - number_literal) )))) )) (compound_statement "{\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }" { (expression_statement "lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));" (assignment_expression "lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2))" identifier = (call_expression "bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2))" identifier (argument_list "(DAT_0017fb10,*(undefined4 *)(puVar18 + 2))" ( identifier , (pointer_expression "*(undefined4 *)(puVar18 + 2)" * (cast_expression "(undefined4 *)(puVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) )))) )))) ;) (if_statement "if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }" { (expression_statement "uVar5 = *(undefined4 *)(puVar18 + 2);" (assignment_expression "uVar5 = *(undefined4 *)(puVar18 + 2)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + 2)" * (cast_expression "(undefined4 *)(puVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) ))))) ;) (if_statement "if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }" if (parenthesized_expression "((DAT_0017fac0 & 3) == 2)" ( (binary_expression "(DAT_0017fac0 & 3) == 2" (parenthesized_expression "(DAT_0017fac0 & 3)" ( (binary_expression "DAT_0017fac0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }" { (expression_statement "uVar7 = *(undefined8 *)(puVar18[1] + 8);" (assignment_expression "uVar7 = *(undefined8 *)(puVar18[1] + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" * (cast_expression "(undefined8 *)(puVar18[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar13 = bfd_get_reloc_code_name(uVar5);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(uVar5)" identifier = (call_expression "bfd_get_reloc_code_name(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n"" identifier = (string_literal ""%X%P: %s does not support reloc %s for set %s\n"" " string_content escape_sequence ")) ;) (expression_statement "uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);" (assignment_expression "uVar9 = **(undefined8 **)(DAT_0017fb10 + 8)" identifier = (pointer_expression "**(undefined8 **)(DAT_0017fb10 + 8)" * (pointer_expression "*(undefined8 **)(DAT_0017fb10 + 8)" * (cast_expression "(undefined8 **)(DAT_0017fb10 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0017fb10 + 8)" ( (binary_expression "DAT_0017fb10 + 8" identifier + number_literal) )))))) ;) }) (else_clause "else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }" else (compound_statement "{\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }" { (if_statement "if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }" if (parenthesized_expression "(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0)" ( (binary_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0" (pointer_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" * (cast_expression "(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (binary_expression "*(long *)(puVar18[4] + 0x10) + 0xf0" (pointer_expression "*(long *)(puVar18[4] + 0x10)" * (cast_expression "(long *)(puVar18[4] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[4] + 0x10)" ( (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n            lVar6 = puVar18[1];\n          }" { (expression_statement "lVar6 = puVar18[1];" (assignment_expression "lVar6 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }" else (compound_statement "{\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }" { (expression_statement "lVar6 = bfd_reloc_type_lookup();" (assignment_expression "lVar6 = bfd_reloc_type_lookup()" identifier = (call_expression "bfd_reloc_type_lookup()" identifier (argument_list "()" ( )))) ;) (if_statement "if (lVar6 != 0) goto LAB_0011eb6f;" if (parenthesized_expression "(lVar6 != 0)" ( (binary_expression "lVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011eb6f;" goto statement_identifier ;)) (expression_statement "lVar6 = puVar18[1];" (assignment_expression "lVar6 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined4 *)(puVar18 + 2);" (assignment_expression "uVar5 = *(undefined4 *)(puVar18 + 2)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + 2)" * (cast_expression "(undefined4 *)(puVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined8 *)(lVar6 + 8);" (assignment_expression "uVar7 = *(undefined8 *)(lVar6 + 8)" identifier = (pointer_expression "*(undefined8 *)(lVar6 + 8)" * (cast_expression "(undefined8 *)(lVar6 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 8)" ( (binary_expression "lVar6 + 8" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }" if (parenthesized_expression "(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0)" ( (binary_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0" (pointer_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" * (cast_expression "(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (binary_expression "*(long *)(puVar18[4] + 0x10) + 0xf0" (pointer_expression "*(long *)(puVar18[4] + 0x10)" * (cast_expression "(long *)(puVar18[4] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[4] + 0x10)" ( (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }" { (expression_statement "uVar13 = bfd_get_reloc_code_name(uVar5);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(uVar5)" identifier = (call_expression "bfd_get_reloc_code_name(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n"" identifier = (string_literal ""%X%P: %s does not support reloc %s for set %s\n"" " string_content escape_sequence ")) ;) (expression_statement "uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);" (assignment_expression "uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" identifier = (pointer_expression "**(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" * (pointer_expression "*(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" * (cast_expression "(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" ( (binary_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8" (pointer_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" * (cast_expression "(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(puVar18[4] + 0x10) + 0xf0)" ( (binary_expression "*(long *)(puVar18[4] + 0x10) + 0xf0" (pointer_expression "*(long *)(puVar18[4] + 0x10)" * (cast_expression "(long *)(puVar18[4] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[4] + 0x10)" ( (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) + number_literal) )))))) ;) (goto_statement "goto LAB_0011ee49;" goto statement_identifier ;) })) }))) (expression_statement "uVar7 = *(undefined8 *)(lVar6 + 8);" (assignment_expression "uVar7 = *(undefined8 *)(lVar6 + 8)" identifier = (pointer_expression "*(undefined8 *)(lVar6 + 8)" * (cast_expression "(undefined8 *)(lVar6 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 8)" ( (binary_expression "lVar6 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = bfd_get_reloc_code_name(uVar5);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(uVar5)" identifier = (call_expression "bfd_get_reloc_code_name(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n"" identifier = (string_literal ""%X%P: special section %s does not support reloc %s for set %s\n"" " string_content escape_sequence ")) ;) (expression_statement "uVar9 = **(undefined8 **)(puVar18[4] + 0x10);" (assignment_expression "uVar9 = **(undefined8 **)(puVar18[4] + 0x10)" identifier = (pointer_expression "**(undefined8 **)(puVar18[4] + 0x10)" * (pointer_expression "*(undefined8 **)(puVar18[4] + 0x10)" * (cast_expression "(undefined8 **)(puVar18[4] + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18[4] + 0x10)" ( (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal) )))))) ;) }))) (labeled_statement "LAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);" statement_identifier : (expression_statement "uVar10 = dcgettext(0,pcVar16,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar16,5)" identifier = (call_expression "dcgettext(0,pcVar16,5)" identifier (argument_list "(0,pcVar16,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_001251f0(uVar10,uVar9,uVar13,uVar7);" (call_expression "FUN_001251f0(uVar10,uVar9,uVar13,uVar7)" identifier (argument_list "(uVar10,uVar9,uVar13,uVar7)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (goto_statement "goto joined_r0x0011eaf9;" goto statement_identifier ;) })) (labeled_statement "LAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);" statement_identifier : (expression_statement "uVar4 = bfd_get_reloc_size(lVar6);" (assignment_expression "uVar4 = bfd_get_reloc_size(lVar6)" identifier = (call_expression "bfd_get_reloc_size(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) ;)) (if_statement "if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" if (parenthesized_expression "(uVar4 == 2)" ( (binary_expression "uVar4 == 2" identifier == number_literal) )) (compound_statement "{\n        iVar17 = 0x11d;\n      }" { (expression_statement "iVar17 = 0x11d;" (assignment_expression "iVar17 = 0x11d" identifier = number_literal) ;) }) (else_clause "else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" else (if_statement "if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" if (parenthesized_expression "(uVar4 < 3)" ( (binary_expression "uVar4 < 3" identifier < number_literal) )) (compound_statement "{\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }" { (expression_statement "iVar17 = 0x11e;" (assignment_expression "iVar17 = 0x11e" identifier = number_literal) ;) (if_statement "if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }" if (parenthesized_expression "(uVar4 != 1)" ( (binary_expression "uVar4 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }" { (labeled_statement "LAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);" statement_identifier : (expression_statement "uVar7 = *(undefined8 *)(puVar18[1] + 8);" (assignment_expression "uVar7 = *(undefined8 *)(puVar18[1] + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" * (cast_expression "(undefined8 *)(puVar18[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) ))))) ;)) (expression_statement "uVar5 = bfd_get_reloc_size(lVar6);" (assignment_expression "uVar5 = bfd_get_reloc_size(lVar6)" identifier = (call_expression "bfd_get_reloc_size(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) ;) (expression_statement "uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);" (assignment_expression "uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: unsupported size %d for set %s\n",5)" identifier (argument_list "(0,"%X%P: unsupported size %d for set %s\n",5)" ( number_literal , (string_literal ""%X%P: unsupported size %d for set %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "iVar17 = 0x11c;" (assignment_expression "iVar17 = 0x11c" identifier = number_literal) ;) (expression_statement "FUN_001251f0(uVar9,uVar5,uVar7);" (call_expression "FUN_001251f0(uVar9,uVar5,uVar7)" identifier (argument_list "(uVar9,uVar5,uVar7)" ( identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" else (compound_statement "{\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" { (expression_statement "iVar17 = 0x11c;" (assignment_expression "iVar17 = 0x11c" identifier = number_literal) ;) (if_statement "if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }" if (parenthesized_expression "(uVar4 != 4)" ( (binary_expression "uVar4 != 4" identifier != number_literal) )) (compound_statement "{\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }" { (if_statement "if (uVar4 != 8) goto LAB_0011edcf;" if (parenthesized_expression "(uVar4 != 8)" ( (binary_expression "uVar4 != 8" identifier != number_literal) )) (goto_statement "goto LAB_0011edcf;" goto statement_identifier ;)) (expression_statement "iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;" (assignment_expression "iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a" identifier = (binary_expression "(*(int *)(lVar6 + 0x18) == 2) + 0x11a" (parenthesized_expression "(*(int *)(lVar6 + 0x18) == 2)" ( (binary_expression "*(int *)(lVar6 + 0x18) == 2" (pointer_expression "*(int *)(lVar6 + 0x18)" * (cast_expression "(int *)(lVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x18)" ( (binary_expression "lVar6 + 0x18" identifier + number_literal) )))) == number_literal) )) + number_literal)) ;) })) }))))) (expression_statement "uVar7 = FUN_00123030((long)(int)uVar4);" (assignment_expression "uVar7 = FUN_00123030((long)(int)uVar4)" identifier = (call_expression "FUN_00123030((long)(int)uVar4)" identifier (argument_list "((long)(int)uVar4)" ( (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "uVar7 = FUN_00123290(0x117,uVar7);" (assignment_expression "uVar7 = FUN_00123290(0x117,uVar7)" identifier = (call_expression "FUN_00123290(0x117,uVar7)" identifier (argument_list "(0x117,uVar7)" ( number_literal , identifier )))) ;) (expression_statement "uVar7 = FUN_00123350(".",uVar7,0);" (assignment_expression "uVar7 = FUN_00123350(".",uVar7,0)" identifier = (call_expression "FUN_00123350(".",uVar7,0)" identifier (argument_list "(".",uVar7,0)" ( (string_literal ""."" " string_content ") , identifier , number_literal )))) ;) (expression_statement "FUN_0011a930(uVar7);" (call_expression "FUN_0011a930(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "uVar7 = FUN_00123310(0x103,".");" (assignment_expression "uVar7 = FUN_00123310(0x103,".")" identifier = (call_expression "FUN_00123310(0x103,".")" identifier (argument_list "(0x103,".")" ( number_literal , (string_literal ""."" " string_content ") )))) ;) (expression_statement "uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);" (assignment_expression "uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0)" identifier = (call_expression "FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0)" identifier (argument_list "(*(undefined8 *)(puVar18[1] + 8),uVar7,0)" ( (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" * (cast_expression "(undefined8 *)(puVar18[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) )))) , identifier , number_literal )))) ;) (expression_statement "FUN_0011a930(uVar7);" (call_expression "FUN_0011a930(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "uVar7 = FUN_00123030(puVar18[3]);" (assignment_expression "uVar7 = FUN_00123030(puVar18[3])" identifier = (call_expression "FUN_00123030(puVar18[3])" identifier (argument_list "(puVar18[3])" ( (subscript_expression "puVar18[3]" identifier [ number_literal ]) )))) ;) (expression_statement "FUN_0011a860(iVar17,uVar7);" (call_expression "FUN_0011a860(iVar17,uVar7)" identifier (argument_list "(iVar17,uVar7)" ( identifier , identifier ))) ;) (expression_statement "puVar12 = (undefined8 *)puVar18[4];" (assignment_expression "puVar12 = (undefined8 *)puVar18[4]" identifier = (cast_expression "(undefined8 *)puVar18[4]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[4]" identifier [ number_literal ]))) ;) (while_statement "while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }" while (parenthesized_expression "(puVar12 != (undefined8 *)0x0)" ( (binary_expression "puVar12 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }" { (if_statement "if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }" if (parenthesized_expression "(DAT_0017fc98 != 0)" ( (binary_expression "DAT_0017fc98 != 0" identifier != number_literal) )) (compound_statement "{\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }" { (if_statement "if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }" { (expression_statement "uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);" (assignment_expression "uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5)" identifier = (call_expression "dcgettext(0,"\nSet                 Symbol\n\n",5)" identifier (argument_list "(0,"\nSet                 Symbol\n\n",5)" ( number_literal , (string_literal ""\nSet                 Symbol\n\n"" " escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_001252f0(uVar7);" (call_expression "FUN_001252f0(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) })) (expression_statement "FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));" (call_expression "FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8))" identifier (argument_list "(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8))" ( (pointer_expression "&DAT_0013efee" & identifier) , (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" * (cast_expression "(undefined8 *)(puVar18[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "sVar8 = strlen(*(char **)(puVar18[1] + 8));" (assignment_expression "sVar8 = strlen(*(char **)(puVar18[1] + 8))" identifier = (call_expression "strlen(*(char **)(puVar18[1] + 8))" identifier (argument_list "(*(char **)(puVar18[1] + 8))" ( (pointer_expression "*(char **)(puVar18[1] + 8)" * (cast_expression "(char **)(puVar18[1] + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18[1] + 8)" ( (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "uVar19 = sVar8 & 0xffffffff;" (assignment_expression "uVar19 = sVar8 & 0xffffffff" identifier = (binary_expression "sVar8 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }" if (parenthesized_expression "(0x12 < (int)sVar8)" ( (binary_expression "0x12 < (int)sVar8" number_literal < (cast_expression "(int)sVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            FUN_00124290();\n            uVar19 = 0;\n          }" { (expression_statement "FUN_00124290();" (call_expression "FUN_00124290()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) })) (do_statement "do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);" do (compound_statement "{\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          }" { (expression_statement "FUN_00124270();" (call_expression "FUN_00124270()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = (int)uVar19 + 1;" (assignment_expression "uVar4 = (int)uVar19 + 1" identifier = (binary_expression "(int)uVar19 + 1" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar19 = (ulong)uVar4;" (assignment_expression "uVar19 = (ulong)uVar4" identifier = (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(uVar4 != 0x14)" ( (binary_expression "uVar4 != 0x14" identifier != number_literal) )) ;) (if_statement "if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }" if (parenthesized_expression "(puVar12[1] == 0)" ( (binary_expression "puVar12[1] == 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);" (call_expression "FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3])" identifier (argument_list "(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3])" ( (pointer_expression "&DAT_001402b9" & identifier) , (pointer_expression "*(undefined8 *)(puVar12[2] + 0xf0)" * (cast_expression "(undefined8 *)(puVar12[2] + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12[2] + 0xf0)" ( (binary_expression "puVar12[2] + 0xf0" (subscript_expression "puVar12[2]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "puVar12[2]" identifier [ number_literal ]) , (subscript_expression "puVar12[3]" identifier [ number_literal ]) ))) ;) }) (else_clause "else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }" else (compound_statement "{\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "FUN_001252f0(&DAT_0013eeb7);" (call_expression "FUN_001252f0(&DAT_0013eeb7)" identifier (argument_list "(&DAT_0013eeb7)" ( (pointer_expression "&DAT_0013eeb7" & identifier) ))) ;) }))) })) (if_statement "if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }" if (parenthesized_expression "(puVar12[2] != 0x17ed50)" ( (binary_expression "puVar12[2] != 0x17ed50" (subscript_expression "puVar12[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }" { (expression_statement "puVar1 = (uint *)(puVar12[2] + 0x20);" (assignment_expression "puVar1 = (uint *)(puVar12[2] + 0x20)" identifier = (cast_expression "(uint *)(puVar12[2] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12[2] + 0x20)" ( (binary_expression "puVar12[2] + 0x20" (subscript_expression "puVar12[2]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 | 0x200000;" (assignment_expression "*puVar1 = *puVar1 | 0x200000" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 0x200000" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) })) (if_statement "if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" if (parenthesized_expression "((DAT_0017fac0 & 3) == 2)" ( (binary_expression "(DAT_0017fac0 & 3) == 2" (parenthesized_expression "(DAT_0017fac0 & 3)" ( (binary_expression "DAT_0017fac0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" { (expression_statement "uVar7 = FUN_00123030(puVar12[3]);" (assignment_expression "uVar7 = FUN_00123030(puVar12[3])" identifier = (call_expression "FUN_00123030(puVar12[3])" identifier (argument_list "(puVar12[3])" ( (subscript_expression "puVar12[3]" identifier [ number_literal ]) )))) ;) (expression_statement "FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);" (call_expression "FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7)" identifier (argument_list "(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7)" ( (pointer_expression "*(undefined4 *)(puVar18 + 2)" * (cast_expression "(undefined4 *)(puVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) )))) , identifier , (subscript_expression "puVar12[2]" identifier [ number_literal ]) , (subscript_expression "puVar12[1]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "puVar12 = (undefined8 *)*puVar12;" (assignment_expression "puVar12 = (undefined8 *)*puVar12" identifier = (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) }) (else_clause "else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" else (compound_statement "{\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" { (expression_statement "uVar7 = FUN_001230d0();" (assignment_expression "uVar7 = FUN_001230d0()" identifier = (call_expression "FUN_001230d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0011a860(iVar17,uVar7);" (call_expression "FUN_0011a860(iVar17,uVar7)" identifier (argument_list "(iVar17,uVar7)" ( identifier , identifier ))) ;) (expression_statement "puVar12 = (undefined8 *)*puVar12;" (assignment_expression "puVar12 = (undefined8 *)*puVar12" identifier = (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) }))) })) (expression_statement "uVar7 = FUN_00123030(0);" (assignment_expression "uVar7 = FUN_00123030(0)" identifier = (call_expression "FUN_00123030(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "FUN_0011a860(iVar17,uVar7);" (call_expression "FUN_0011a860(iVar17,uVar7)" identifier (argument_list "(iVar17,uVar7)" ( identifier , identifier ))) ;) })) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) , LIT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) - LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (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 ]) + LIT) )))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (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 ]) + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (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 ]) + LIT) )))) + 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) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) + LIT)) ;) })) }))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }))) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "void FUN_0011eaa0(void)\n\n{\n  uint *puVar1;\n  undefined8 *puVar2;\n  bool bVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  long lVar6;\n  undefined8 uVar7;\n  size_t sVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  undefined8 *__base;\n  undefined8 *puVar12;\n  undefined8 uVar13;\n  undefined8 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  \n  if (DAT_0017f578 != 0) {\n    return;\n  }\n  DAT_0017f578 = 1;\n  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }\n  bVar3 = false;\n  FUN_00115b30(&DAT_0017fa80);\n  FUN_00115b40(&DAT_0017fa80);\n  puVar18 = DAT_0017fa70;\njoined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_0011eaa0(void)" (identifier "FUN_0011eaa0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  uint *puVar1;\n  undefined8 *puVar2;\n  bool bVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  long lVar6;\n  undefined8 uVar7;\n  size_t sVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long *plVar11;\n  undefined8 *__base;\n  undefined8 *puVar12;\n  undefined8 uVar13;\n  undefined8 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  \n  if (DAT_0017f578 != 0) {\n    return;\n  }\n  DAT_0017f578 = 1;\n  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }\n  bVar3 = false;\n  FUN_00115b30(&DAT_0017fa80);\n  FUN_00115b40(&DAT_0017fa80);\n  puVar18 = DAT_0017fa70;\njoined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined8 *puVar2;" (type_identifier "undefined8") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "size_t sVar8;" (primitive_type "size_t") (identifier "sVar8") (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "undefined8 uVar10;" (type_identifier "undefined8") (identifier "uVar10") (; ";")) (declaration "long *plVar11;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar11" (* "*") (identifier "plVar11")) (; ";")) (declaration "undefined8 *__base;" (type_identifier "undefined8") (pointer_declarator "*__base" (* "*") (identifier "__base")) (; ";")) (declaration "undefined8 *puVar12;" (type_identifier "undefined8") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined8 uVar13;" (type_identifier "undefined8") (identifier "uVar13") (; ";")) (declaration "undefined8 *puVar14;" (type_identifier "undefined8") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "undefined8 *puVar18;" (type_identifier "undefined8") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "ulong uVar19;" (type_identifier "ulong") (identifier "uVar19") (; ";")) (if_statement "if (DAT_0017f578 != 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_0017f578 != 0)" (( "(") (binary_expression "DAT_0017f578 != 0" (identifier "DAT_0017f578") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "DAT_0017f578 = 1;" (assignment_expression "DAT_0017f578 = 1" (identifier "DAT_0017f578") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }" (if "if") (parenthesized_expression "((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0))" (( "(") (binary_expression "(DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)" (parenthesized_expression "(DAT_0017fa90 != 0)" (( "(") (binary_expression "DAT_0017fa90 != 0" (identifier "DAT_0017fa90") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)" (( "(") (comma_expression "puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0" (assignment_expression "puVar18 = DAT_0017fa70" (identifier "puVar18") (= "=") (identifier "DAT_0017fa70")) (, ",") (binary_expression "DAT_0017fa70 != (undefined8 *)0x0" (identifier "DAT_0017fa70") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);\n  }" ({ "{") (do_statement "do {\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    } while (puVar18 != (undefined8 *)0x0);" (do "do") (compound_statement "{\n      plVar11 = (long *)puVar18[4];\n      lVar6 = 0;\n      if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }\n      puVar18 = (undefined8 *)*puVar18;\n    }" ({ "{") (expression_statement "plVar11 = (long *)puVar18[4];" (assignment_expression "plVar11 = (long *)puVar18[4]" (identifier "plVar11") (= "=") (cast_expression "(long *)puVar18[4]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "lVar6 = 0;" (assignment_expression "lVar6 = 0" (identifier "lVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (plVar11 != (long *)0x0) {\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }" (if "if") (parenthesized_expression "(plVar11 != (long *)0x0)" (( "(") (binary_expression "plVar11 != (long *)0x0" (identifier "plVar11") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }\n        __base = (undefined8 *)xmalloc((long)iVar15 * 8);\n        puVar14 = __base;\n        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }\n        qsort(__base,(long)iVar15,8,FUN_0011e8a0);\n        puVar18[4] = *__base;\n        puVar12 = __base;\n        if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }\n        *(undefined8 *)*puVar12 = 0;\n        free(__base);\n      }" ({ "{") (while_statement "while( true ) {\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          plVar11 = (long *)*plVar11;\n          iVar17 = (int)lVar6;\n          iVar15 = iVar17 + 1;\n          if (plVar11 == (long *)0x0) break;\n          lVar6 = (long)iVar15;\n        }" ({ "{") (expression_statement "plVar11 = (long *)*plVar11;" (assignment_expression "plVar11 = (long *)*plVar11" (identifier "plVar11") (= "=") (cast_expression "(long *)*plVar11" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar11" (* "*") (identifier "plVar11")))) (; ";")) (expression_statement "iVar17 = (int)lVar6;" (assignment_expression "iVar17 = (int)lVar6" (identifier "iVar17") (= "=") (cast_expression "(int)lVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar6"))) (; ";")) (expression_statement "iVar15 = iVar17 + 1;" (assignment_expression "iVar15 = iVar17 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (plVar11 == (long *)0x0) break;" (if "if") (parenthesized_expression "(plVar11 == (long *)0x0)" (( "(") (binary_expression "plVar11 == (long *)0x0" (identifier "plVar11") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = (long)iVar15;" (assignment_expression "lVar6 = (long)iVar15" (identifier "lVar6") (= "=") (cast_expression "(long)iVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar15"))) (; ";")) (} "}"))) (expression_statement "__base = (undefined8 *)xmalloc((long)iVar15 * 8);" (assignment_expression "__base = (undefined8 *)xmalloc((long)iVar15 * 8)" (identifier "__base") (= "=") (cast_expression "(undefined8 *)xmalloc((long)iVar15 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc((long)iVar15 * 8)" (identifier "xmalloc") (argument_list "((long)iVar15 * 8)" (( "(") (binary_expression "(long)iVar15 * 8" (cast_expression "(long)iVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar15")) (* "*") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "puVar14 = __base;" (assignment_expression "puVar14 = __base" (identifier "puVar14") (= "=") (identifier "__base")) (; ";")) (for_statement "for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;\n            puVar12 = (undefined8 *)*puVar12) {\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }" (for "for") (( "(") (assignment_expression "puVar12 = (undefined8 *)puVar18[4]" (identifier "puVar12") (= "=") (cast_expression "(undefined8 *)puVar18[4]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")))) (; ";") (binary_expression "puVar12 != (undefined8 *)0x0" (identifier "puVar12") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar12 = (undefined8 *)*puVar12" (identifier "puVar12") (= "=") (cast_expression "(undefined8 *)*puVar12" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar12" (* "*") (identifier "puVar12")))) () ")") (compound_statement "{\n          *puVar14 = puVar12;\n          puVar14 = puVar14 + 1;\n        }" ({ "{") (expression_statement "*puVar14 = puVar12;" (assignment_expression "*puVar14 = puVar12" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (identifier "puVar12")) (; ";")) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "qsort(__base,(long)iVar15,8,FUN_0011e8a0);" (call_expression "qsort(__base,(long)iVar15,8,FUN_0011e8a0)" (identifier "qsort") (argument_list "(__base,(long)iVar15,8,FUN_0011e8a0)" (( "(") (identifier "__base") (, ",") (cast_expression "(long)iVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar15")) (, ",") (number_literal "8") (, ",") (identifier "FUN_0011e8a0") () ")"))) (; ";")) (expression_statement "puVar18[4] = *__base;" (assignment_expression "puVar18[4] = *__base" (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*__base" (* "*") (identifier "__base"))) (; ";")) (expression_statement "puVar12 = __base;" (assignment_expression "puVar12 = __base" (identifier "puVar12") (= "=") (identifier "__base")) (; ";")) (if_statement "if (iVar17 != 0) {\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);\n          puVar12 = __base + lVar6;\n        }" ({ "{") (do_statement "do {\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);" (do "do") (compound_statement "{\n            puVar2 = (undefined8 *)*puVar12;\n            puVar14 = puVar12 + 1;\n            puVar12 = puVar12 + 1;\n            *puVar2 = *puVar14;\n          }" ({ "{") (expression_statement "puVar2 = (undefined8 *)*puVar12;" (assignment_expression "puVar2 = (undefined8 *)*puVar12" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)*puVar12" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar12" (* "*") (identifier "puVar12")))) (; ";")) (expression_statement "puVar14 = puVar12 + 1;" (assignment_expression "puVar14 = puVar12 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" (identifier "puVar12") (= "=") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar2 = *puVar14;" (assignment_expression "*puVar2 = *puVar14" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(__base + (ulong)(iVar17 - 1) + 1 != puVar12)" (( "(") (binary_expression "__base + (ulong)(iVar17 - 1) + 1 != puVar12" (binary_expression "__base + (ulong)(iVar17 - 1) + 1" (binary_expression "__base + (ulong)(iVar17 - 1)" (identifier "__base") (+ "+") (call_expression "(ulong)(iVar17 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar17 - 1)" (( "(") (binary_expression "iVar17 - 1" (identifier "iVar17") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1")) (!= "!=") (identifier "puVar12")) () ")")) (; ";")) (expression_statement "puVar12 = __base + lVar6;" (assignment_expression "puVar12 = __base + lVar6" (identifier "puVar12") (= "=") (binary_expression "__base + lVar6" (identifier "__base") (+ "+") (identifier "lVar6"))) (; ";")) (} "}"))) (expression_statement "*(undefined8 *)*puVar12 = 0;" (assignment_expression "*(undefined8 *)*puVar12 = 0" (pointer_expression "*(undefined8 *)*puVar12" (* "*") (cast_expression "(undefined8 *)*puVar12" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar12" (* "*") (identifier "puVar12")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "free(__base);" (call_expression "free(__base)" (identifier "free") (argument_list "(__base)" (( "(") (identifier "__base") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)*puVar18" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar18 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar18 != (undefined8 *)0x0" (identifier "puVar18") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (expression_statement "FUN_00115b30(&DAT_0017fa80);" (call_expression "FUN_00115b30(&DAT_0017fa80)" (identifier "FUN_00115b30") (argument_list "(&DAT_0017fa80)" (( "(") (pointer_expression "&DAT_0017fa80" (& "&") (identifier "DAT_0017fa80")) () ")"))) (; ";")) (expression_statement "FUN_00115b40(&DAT_0017fa80);" (call_expression "FUN_00115b40(&DAT_0017fa80)" (identifier "FUN_00115b40") (argument_list "(&DAT_0017fa80)" (( "(") (pointer_expression "&DAT_0017fa80" (& "&") (identifier "DAT_0017fa80")) () ")"))) (; ";")) (expression_statement "puVar18 = DAT_0017fa70;" (assignment_expression "puVar18 = DAT_0017fa70" (identifier "puVar18") (= "=") (identifier "DAT_0017fa70")) (; ";")) (labeled_statement "joined_r0x0011eaf9:\n  do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );" (statement_identifier "joined_r0x0011eaf9") (: ":") (do_statement "do {\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  } while( true );" (do "do") (compound_statement "{\n    if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }\n    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }\n    puVar18 = (undefined8 *)*puVar18;\n  }" ({ "{") (if_statement "if (puVar18 == (undefined8 *)0x0) {\n      FUN_00115b80();\n      return;\n    }" (if "if") (parenthesized_expression "(puVar18 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar18 == (undefined8 *)0x0" (identifier "puVar18") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_00115b80();\n      return;\n    }" ({ "{") (expression_statement "FUN_00115b80();" (call_expression "FUN_00115b80()" (identifier "FUN_00115b80") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }" (if "if") (parenthesized_expression "(1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U))" (( "(") (binary_expression "1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)" (number_literal "1") (< "<") (call_expression "(byte)(*(char *)(puVar18[1] + 0x18) - 3U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*(char *)(puVar18[1] + 0x18) - 3U)" (( "(") (binary_expression "*(char *)(puVar18[1] + 0x18) - 3U" (pointer_expression "*(char *)(puVar18[1] + 0x18)" (* "*") (cast_expression "(char *)(puVar18[1] + 0x18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18[1] + 0x18)" (( "(") (binary_expression "puVar18[1] + 0x18" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x18")) () ")")))) (- "-") (number_literal "3U")) () ")")))) () ")")) (compound_statement "{\n      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));\n      if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }\nLAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);\n      if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }\n      uVar7 = FUN_00123030((long)(int)uVar4);\n      uVar7 = FUN_00123290(0x117,uVar7);\n      uVar7 = FUN_00123350(".",uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123310(0x103,".");\n      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);\n      FUN_0011a930(uVar7);\n      uVar7 = FUN_00123030(puVar18[3]);\n      FUN_0011a860(iVar17,uVar7);\n      puVar12 = (undefined8 *)puVar18[4];\n      while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }\n      uVar7 = FUN_00123030(0);\n      FUN_0011a860(iVar17,uVar7);\n    }" ({ "{") (expression_statement "lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));" (assignment_expression "lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2))" (identifier "lVar6") (= "=") (call_expression "bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2))" (identifier "bfd_reloc_type_lookup") (argument_list "(DAT_0017fb10,*(undefined4 *)(puVar18 + 2))" (( "(") (identifier "DAT_0017fb10") (, ",") (pointer_expression "*(undefined4 *)(puVar18 + 2)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 2)" (( "(") (binary_expression "puVar18 + 2" (identifier "puVar18") (+ "+") (number_literal "2")) () ")")))) () ")")))) (; ";")) (if_statement "if (lVar6 == 0) {\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = *(undefined4 *)(puVar18 + 2);\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }\nLAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);\n        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);\n        puVar18 = (undefined8 *)*puVar18;\n        goto joined_r0x0011eaf9;\n      }" ({ "{") (expression_statement "uVar5 = *(undefined4 *)(puVar18 + 2);" (assignment_expression "uVar5 = *(undefined4 *)(puVar18 + 2)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 2)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 2)" (( "(") (binary_expression "puVar18 + 2" (identifier "puVar18") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }\n        else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }" (if "if") (parenthesized_expression "((DAT_0017fac0 & 3) == 2)" (( "(") (binary_expression "(DAT_0017fac0 & 3) == 2" (parenthesized_expression "(DAT_0017fac0 & 3)" (( "(") (binary_expression "DAT_0017fac0 & 3" (identifier "DAT_0017fac0") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);\n        }" ({ "{") (expression_statement "uVar7 = *(undefined8 *)(puVar18[1] + 8);" (assignment_expression "uVar7 = *(undefined8 *)(puVar18[1] + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" (* "*") (cast_expression "(undefined8 *)(puVar18[1] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18[1] + 8)" (( "(") (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar13 = bfd_get_reloc_code_name(uVar5);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(uVar5)" (identifier "uVar13") (= "=") (call_expression "bfd_get_reloc_code_name(uVar5)" (identifier "bfd_get_reloc_code_name") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n"" (identifier "pcVar16") (= "=") (string_literal ""%X%P: %s does not support reloc %s for set %s\n"" (" """) (string_content "%X%P: %s does not support reloc %s for set %s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);" (assignment_expression "uVar9 = **(undefined8 **)(DAT_0017fb10 + 8)" (identifier "uVar9") (= "=") (pointer_expression "**(undefined8 **)(DAT_0017fb10 + 8)" (* "*") (pointer_expression "*(undefined8 **)(DAT_0017fb10 + 8)" (* "*") (cast_expression "(undefined8 **)(DAT_0017fb10 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_0017fb10 + 8)" (( "(") (binary_expression "DAT_0017fb10 + 8" (identifier "DAT_0017fb10") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }" (else "else") (compound_statement "{\n          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }\n          uVar7 = *(undefined8 *)(lVar6 + 8);\n          uVar13 = bfd_get_reloc_code_name(uVar5);\n          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";\n          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);\n        }" ({ "{") (if_statement "if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {\n            lVar6 = puVar18[1];\n          }\n          else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }" (if "if") (parenthesized_expression "(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0)" (( "(") (binary_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0" (pointer_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" (* "*") (cast_expression "(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(puVar18[4] + 0x10) + 0xf0)" (( "(") (binary_expression "*(long *)(puVar18[4] + 0x10) + 0xf0" (pointer_expression "*(long *)(puVar18[4] + 0x10)" (* "*") (cast_expression "(long *)(puVar18[4] + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18[4] + 0x10)" (( "(") (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0xf0")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            lVar6 = puVar18[1];\n          }" ({ "{") (expression_statement "lVar6 = puVar18[1];" (assignment_expression "lVar6 = puVar18[1]" (identifier "lVar6") (= "=") (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }" (else "else") (compound_statement "{\n            lVar6 = bfd_reloc_type_lookup();\n            if (lVar6 != 0) goto LAB_0011eb6f;\n            lVar6 = puVar18[1];\n            uVar5 = *(undefined4 *)(puVar18 + 2);\n            uVar7 = *(undefined8 *)(lVar6 + 8);\n            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }\n          }" ({ "{") (expression_statement "lVar6 = bfd_reloc_type_lookup();" (assignment_expression "lVar6 = bfd_reloc_type_lookup()" (identifier "lVar6") (= "=") (call_expression "bfd_reloc_type_lookup()" (identifier "bfd_reloc_type_lookup") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar6 != 0) goto LAB_0011eb6f;" (if "if") (parenthesized_expression "(lVar6 != 0)" (( "(") (binary_expression "lVar6 != 0" (identifier "lVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011eb6f;" (goto "goto") (statement_identifier "LAB_0011eb6f") (; ";"))) (expression_statement "lVar6 = puVar18[1];" (assignment_expression "lVar6 = puVar18[1]" (identifier "lVar6") (= "=") (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(puVar18 + 2);" (assignment_expression "uVar5 = *(undefined4 *)(puVar18 + 2)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 2)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 2)" (( "(") (binary_expression "puVar18 + 2" (identifier "puVar18") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined8 *)(lVar6 + 8);" (assignment_expression "uVar7 = *(undefined8 *)(lVar6 + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined8 *)(lVar6 + 8)" (* "*") (cast_expression "(undefined8 *)(lVar6 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 8)" (( "(") (binary_expression "lVar6 + 8" (identifier "lVar6") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }" (if "if") (parenthesized_expression "(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0)" (( "(") (binary_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0" (pointer_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" (* "*") (cast_expression "(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(puVar18[4] + 0x10) + 0xf0)" (( "(") (binary_expression "*(long *)(puVar18[4] + 0x10) + 0xf0" (pointer_expression "*(long *)(puVar18[4] + 0x10)" (* "*") (cast_expression "(long *)(puVar18[4] + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18[4] + 0x10)" (( "(") (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0xf0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar13 = bfd_get_reloc_code_name(uVar5);\n              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";\n              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);\n              goto LAB_0011ee49;\n            }" ({ "{") (expression_statement "uVar13 = bfd_get_reloc_code_name(uVar5);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(uVar5)" (identifier "uVar13") (= "=") (call_expression "bfd_get_reloc_code_name(uVar5)" (identifier "bfd_get_reloc_code_name") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar16 = "%X%P: %s does not support reloc %s for set %s\n"" (identifier "pcVar16") (= "=") (string_literal ""%X%P: %s does not support reloc %s for set %s\n"" (" """) (string_content "%X%P: %s does not support reloc %s for set %s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);" (assignment_expression "uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" (identifier "uVar9") (= "=") (pointer_expression "**(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" (* "*") (pointer_expression "*(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" (* "*") (cast_expression "(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8)" (( "(") (binary_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8" (pointer_expression "*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" (* "*") (cast_expression "(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(puVar18[4] + 0x10) + 0xf0)" (( "(") (binary_expression "*(long *)(puVar18[4] + 0x10) + 0xf0" (pointer_expression "*(long *)(puVar18[4] + 0x10)" (* "*") (cast_expression "(long *)(puVar18[4] + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18[4] + 0x10)" (( "(") (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0xf0")) () ")")))) (+ "+") (number_literal "8")) () ")")))))) (; ";")) (goto_statement "goto LAB_0011ee49;" (goto "goto") (statement_identifier "LAB_0011ee49") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar7 = *(undefined8 *)(lVar6 + 8);" (assignment_expression "uVar7 = *(undefined8 *)(lVar6 + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined8 *)(lVar6 + 8)" (* "*") (cast_expression "(undefined8 *)(lVar6 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 8)" (( "(") (binary_expression "lVar6 + 8" (identifier "lVar6") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar13 = bfd_get_reloc_code_name(uVar5);" (assignment_expression "uVar13 = bfd_get_reloc_code_name(uVar5)" (identifier "uVar13") (= "=") (call_expression "bfd_get_reloc_code_name(uVar5)" (identifier "bfd_get_reloc_code_name") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";" (assignment_expression "pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n"" (identifier "pcVar16") (= "=") (string_literal ""%X%P: special section %s does not support reloc %s for set %s\n"" (" """) (string_content "%X%P: special section %s does not support reloc %s for set %s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "uVar9 = **(undefined8 **)(puVar18[4] + 0x10);" (assignment_expression "uVar9 = **(undefined8 **)(puVar18[4] + 0x10)" (identifier "uVar9") (= "=") (pointer_expression "**(undefined8 **)(puVar18[4] + 0x10)" (* "*") (pointer_expression "*(undefined8 **)(puVar18[4] + 0x10)" (* "*") (cast_expression "(undefined8 **)(puVar18[4] + 0x10)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18[4] + 0x10)" (( "(") (binary_expression "puVar18[4] + 0x10" (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (} "}")))) (labeled_statement "LAB_0011ee49:\n        uVar10 = dcgettext(0,pcVar16,5);" (statement_identifier "LAB_0011ee49") (: ":") (expression_statement "uVar10 = dcgettext(0,pcVar16,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar16,5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,pcVar16,5)" (identifier "dcgettext") (argument_list "(0,pcVar16,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar16") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_001251f0(uVar10,uVar9,uVar13,uVar7);" (call_expression "FUN_001251f0(uVar10,uVar9,uVar13,uVar7)" (identifier "FUN_001251f0") (argument_list "(uVar10,uVar9,uVar13,uVar7)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar9") (, ",") (identifier "uVar13") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)*puVar18" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) (; ";")) (goto_statement "goto joined_r0x0011eaf9;" (goto "goto") (statement_identifier "joined_r0x0011eaf9") (; ";")) (} "}"))) (labeled_statement "LAB_0011eb6f:\n      uVar4 = bfd_get_reloc_size(lVar6);" (statement_identifier "LAB_0011eb6f") (: ":") (expression_statement "uVar4 = bfd_get_reloc_size(lVar6);" (assignment_expression "uVar4 = bfd_get_reloc_size(lVar6)" (identifier "uVar4") (= "=") (call_expression "bfd_get_reloc_size(lVar6)" (identifier "bfd_get_reloc_size") (argument_list "(lVar6)" (( "(") (identifier "lVar6") () ")")))) (; ";"))) (if_statement "if (uVar4 == 2) {\n        iVar17 = 0x11d;\n      }\n      else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" (if "if") (parenthesized_expression "(uVar4 == 2)" (( "(") (binary_expression "uVar4 == 2" (identifier "uVar4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        iVar17 = 0x11d;\n      }" ({ "{") (expression_statement "iVar17 = 0x11d;" (assignment_expression "iVar17 = 0x11d" (identifier "iVar17") (= "=") (number_literal "0x11d")) (; ";")) (} "}")) (else_clause "else if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" (else "else") (if_statement "if (uVar4 < 3) {\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }\n      else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" (if "if") (parenthesized_expression "(uVar4 < 3)" (( "(") (binary_expression "uVar4 < 3" (identifier "uVar4") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n        iVar17 = 0x11e;\n        if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }\n      }" ({ "{") (expression_statement "iVar17 = 0x11e;" (assignment_expression "iVar17 = 0x11e" (identifier "iVar17") (= "=") (number_literal "0x11e")) (; ";")) (if_statement "if (uVar4 != 1) {\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }" (if "if") (parenthesized_expression "(uVar4 != 1)" (( "(") (binary_expression "uVar4 != 1" (identifier "uVar4") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\nLAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);\n          uVar5 = bfd_get_reloc_size(lVar6);\n          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);\n          iVar17 = 0x11c;\n          FUN_001251f0(uVar9,uVar5,uVar7);\n        }" ({ "{") (labeled_statement "LAB_0011edcf:\n          uVar7 = *(undefined8 *)(puVar18[1] + 8);" (statement_identifier "LAB_0011edcf") (: ":") (expression_statement "uVar7 = *(undefined8 *)(puVar18[1] + 8);" (assignment_expression "uVar7 = *(undefined8 *)(puVar18[1] + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" (* "*") (cast_expression "(undefined8 *)(puVar18[1] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18[1] + 8)" (( "(") (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (expression_statement "uVar5 = bfd_get_reloc_size(lVar6);" (assignment_expression "uVar5 = bfd_get_reloc_size(lVar6)" (identifier "uVar5") (= "=") (call_expression "bfd_get_reloc_size(lVar6)" (identifier "bfd_get_reloc_size") (argument_list "(lVar6)" (( "(") (identifier "lVar6") () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);" (assignment_expression "uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"%X%P: unsupported size %d for set %s\n",5)" (identifier "dcgettext") (argument_list "(0,"%X%P: unsupported size %d for set %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%X%P: unsupported size %d for set %s\n"" (" """) (string_content "%X%P: unsupported size %d for set %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar17 = 0x11c;" (assignment_expression "iVar17 = 0x11c" (identifier "iVar17") (= "=") (number_literal "0x11c")) (; ";")) (expression_statement "FUN_001251f0(uVar9,uVar5,uVar7);" (call_expression "FUN_001251f0(uVar9,uVar5,uVar7)" (identifier "FUN_001251f0") (argument_list "(uVar9,uVar5,uVar7)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar5") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" (else "else") (compound_statement "{\n        iVar17 = 0x11c;\n        if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }\n      }" ({ "{") (expression_statement "iVar17 = 0x11c;" (assignment_expression "iVar17 = 0x11c" (identifier "iVar17") (= "=") (number_literal "0x11c")) (; ";")) (if_statement "if (uVar4 != 4) {\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }" (if "if") (parenthesized_expression "(uVar4 != 4)" (( "(") (binary_expression "uVar4 != 4" (identifier "uVar4") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n          if (uVar4 != 8) goto LAB_0011edcf;\n          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;\n        }" ({ "{") (if_statement "if (uVar4 != 8) goto LAB_0011edcf;" (if "if") (parenthesized_expression "(uVar4 != 8)" (( "(") (binary_expression "uVar4 != 8" (identifier "uVar4") (!= "!=") (number_literal "8")) () ")")) (goto_statement "goto LAB_0011edcf;" (goto "goto") (statement_identifier "LAB_0011edcf") (; ";"))) (expression_statement "iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;" (assignment_expression "iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a" (identifier "iVar17") (= "=") (binary_expression "(*(int *)(lVar6 + 0x18) == 2) + 0x11a" (parenthesized_expression "(*(int *)(lVar6 + 0x18) == 2)" (( "(") (binary_expression "*(int *)(lVar6 + 0x18) == 2" (pointer_expression "*(int *)(lVar6 + 0x18)" (* "*") (cast_expression "(int *)(lVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x18)" (( "(") (binary_expression "lVar6 + 0x18" (identifier "lVar6") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "2")) () ")")) (+ "+") (number_literal "0x11a"))) (; ";")) (} "}"))) (} "}")))))) (expression_statement "uVar7 = FUN_00123030((long)(int)uVar4);" (assignment_expression "uVar7 = FUN_00123030((long)(int)uVar4)" (identifier "uVar7") (= "=") (call_expression "FUN_00123030((long)(int)uVar4)" (identifier "FUN_00123030") (argument_list "((long)(int)uVar4)" (( "(") (cast_expression "(long)(int)uVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4"))) () ")")))) (; ";")) (expression_statement "uVar7 = FUN_00123290(0x117,uVar7);" (assignment_expression "uVar7 = FUN_00123290(0x117,uVar7)" (identifier "uVar7") (= "=") (call_expression "FUN_00123290(0x117,uVar7)" (identifier "FUN_00123290") (argument_list "(0x117,uVar7)" (( "(") (number_literal "0x117") (, ",") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "uVar7 = FUN_00123350(".",uVar7,0);" (assignment_expression "uVar7 = FUN_00123350(".",uVar7,0)" (identifier "uVar7") (= "=") (call_expression "FUN_00123350(".",uVar7,0)" (identifier "FUN_00123350") (argument_list "(".",uVar7,0)" (( "(") (string_literal ""."" (" """) (string_content ".") (" """)) (, ",") (identifier "uVar7") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0011a930(uVar7);" (call_expression "FUN_0011a930(uVar7)" (identifier "FUN_0011a930") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "uVar7 = FUN_00123310(0x103,".");" (assignment_expression "uVar7 = FUN_00123310(0x103,".")" (identifier "uVar7") (= "=") (call_expression "FUN_00123310(0x103,".")" (identifier "FUN_00123310") (argument_list "(0x103,".")" (( "(") (number_literal "0x103") (, ",") (string_literal ""."" (" """) (string_content ".") (" """)) () ")")))) (; ";")) (expression_statement "uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);" (assignment_expression "uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0)" (identifier "uVar7") (= "=") (call_expression "FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0)" (identifier "FUN_00123350") (argument_list "(*(undefined8 *)(puVar18[1] + 8),uVar7,0)" (( "(") (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" (* "*") (cast_expression "(undefined8 *)(puVar18[1] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18[1] + 8)" (( "(") (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "uVar7") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0011a930(uVar7);" (call_expression "FUN_0011a930(uVar7)" (identifier "FUN_0011a930") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "uVar7 = FUN_00123030(puVar18[3]);" (assignment_expression "uVar7 = FUN_00123030(puVar18[3])" (identifier "uVar7") (= "=") (call_expression "FUN_00123030(puVar18[3])" (identifier "FUN_00123030") (argument_list "(puVar18[3])" (( "(") (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (expression_statement "FUN_0011a860(iVar17,uVar7);" (call_expression "FUN_0011a860(iVar17,uVar7)" (identifier "FUN_0011a860") (argument_list "(iVar17,uVar7)" (( "(") (identifier "iVar17") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "puVar12 = (undefined8 *)puVar18[4];" (assignment_expression "puVar12 = (undefined8 *)puVar18[4]" (identifier "puVar12") (= "=") (cast_expression "(undefined8 *)puVar18[4]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")))) (; ";")) (while_statement "while (puVar12 != (undefined8 *)0x0) {\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }" (while "while") (parenthesized_expression "(puVar12 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar12 != (undefined8 *)0x0" (identifier "puVar12") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }\n        if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }\n        if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n      }" ({ "{") (if_statement "if (DAT_0017fc98 != 0) {\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }" (if "if") (parenthesized_expression "(DAT_0017fc98 != 0)" (( "(") (binary_expression "DAT_0017fc98 != 0" (identifier "DAT_0017fc98") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }\n          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));\n          sVar8 = strlen(*(char **)(puVar18[1] + 8));\n          uVar19 = sVar8 & 0xffffffff;\n          if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }\n          do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);\n          if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }\n        }" ({ "{") (if_statement "if (!bVar3) {\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }" (if "if") (parenthesized_expression "(!bVar3)" (( "(") (unary_expression "!bVar3" (! "!") (identifier "bVar3")) () ")")) (compound_statement "{\n            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);\n            FUN_001252f0(uVar7);\n          }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);" (assignment_expression "uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"\nSet                 Symbol\n\n",5)" (identifier "dcgettext") (argument_list "(0,"\nSet                 Symbol\n\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nSet                 Symbol\n\n"" (" """) (escape_sequence "\n") (string_content "Set                 Symbol") (escape_sequence "\n") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_001252f0(uVar7);" (call_expression "FUN_001252f0(uVar7)" (identifier "FUN_001252f0") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));" (call_expression "FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8))" (identifier "FUN_001252f0") (argument_list "(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8))" (( "(") (pointer_expression "&DAT_0013efee" (& "&") (identifier "DAT_0013efee")) (, ",") (pointer_expression "*(undefined8 *)(puVar18[1] + 8)" (* "*") (cast_expression "(undefined8 *)(puVar18[1] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18[1] + 8)" (( "(") (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (expression_statement "sVar8 = strlen(*(char **)(puVar18[1] + 8));" (assignment_expression "sVar8 = strlen(*(char **)(puVar18[1] + 8))" (identifier "sVar8") (= "=") (call_expression "strlen(*(char **)(puVar18[1] + 8))" (identifier "strlen") (argument_list "(*(char **)(puVar18[1] + 8))" (( "(") (pointer_expression "*(char **)(puVar18[1] + 8)" (* "*") (cast_expression "(char **)(puVar18[1] + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18[1] + 8)" (( "(") (binary_expression "puVar18[1] + 8" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar19 = sVar8 & 0xffffffff;" (assignment_expression "uVar19 = sVar8 & 0xffffffff" (identifier "uVar19") (= "=") (binary_expression "sVar8 & 0xffffffff" (identifier "sVar8") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (0x12 < (int)sVar8) {\n            FUN_00124290();\n            uVar19 = 0;\n          }" (if "if") (parenthesized_expression "(0x12 < (int)sVar8)" (( "(") (binary_expression "0x12 < (int)sVar8" (number_literal "0x12") (< "<") (cast_expression "(int)sVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar8"))) () ")")) (compound_statement "{\n            FUN_00124290();\n            uVar19 = 0;\n          }" ({ "{") (expression_statement "FUN_00124290();" (call_expression "FUN_00124290()" (identifier "FUN_00124290") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (} "}"))) (do_statement "do {\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          } while (uVar4 != 0x14);" (do "do") (compound_statement "{\n            FUN_00124270();\n            uVar4 = (int)uVar19 + 1;\n            uVar19 = (ulong)uVar4;\n          }" ({ "{") (expression_statement "FUN_00124270();" (call_expression "FUN_00124270()" (identifier "FUN_00124270") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = (int)uVar19 + 1;" (assignment_expression "uVar4 = (int)uVar19 + 1" (identifier "uVar4") (= "=") (binary_expression "(int)uVar19 + 1" (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar19 = (ulong)uVar4;" (assignment_expression "uVar19 = (ulong)uVar4" (identifier "uVar19") (= "=") (cast_expression "(ulong)uVar4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar4 != 0x14)" (( "(") (binary_expression "uVar4 != 0x14" (identifier "uVar4") (!= "!=") (number_literal "0x14")) () ")")) (; ";")) (if_statement "if (puVar12[1] == 0) {\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }\n          else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }" (if "if") (parenthesized_expression "(puVar12[1] == 0)" (( "(") (binary_expression "puVar12[1] == 0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            bVar3 = true;\n            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);\n          }" ({ "{") (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (expression_statement "FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);" (call_expression "FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3])" (identifier "FUN_001252f0") (argument_list "(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3])" (( "(") (pointer_expression "&DAT_001402b9" (& "&") (identifier "DAT_001402b9")) (, ",") (pointer_expression "*(undefined8 *)(puVar12[2] + 0xf0)" (* "*") (cast_expression "(undefined8 *)(puVar12[2] + 0xf0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12[2] + 0xf0)" (( "(") (binary_expression "puVar12[2] + 0xf0" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0xf0")) () ")")))) (, ",") (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }" (else "else") (compound_statement "{\n            bVar3 = true;\n            FUN_001252f0(&DAT_0013eeb7);\n          }" ({ "{") (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (expression_statement "FUN_001252f0(&DAT_0013eeb7);" (call_expression "FUN_001252f0(&DAT_0013eeb7)" (identifier "FUN_001252f0") (argument_list "(&DAT_0013eeb7)" (( "(") (pointer_expression "&DAT_0013eeb7" (& "&") (identifier "DAT_0013eeb7")) () ")"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (puVar12[2] != 0x17ed50) {\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }" (if "if") (parenthesized_expression "(puVar12[2] != 0x17ed50)" (( "(") (binary_expression "puVar12[2] != 0x17ed50" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0x17ed50")) () ")")) (compound_statement "{\n          puVar1 = (uint *)(puVar12[2] + 0x20);\n          *puVar1 = *puVar1 | 0x200000;\n        }" ({ "{") (expression_statement "puVar1 = (uint *)(puVar12[2] + 0x20);" (assignment_expression "puVar1 = (uint *)(puVar12[2] + 0x20)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(puVar12[2] + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12[2] + 0x20)" (( "(") (binary_expression "puVar12[2] + 0x20" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*puVar1 = *puVar1 | 0x200000;" (assignment_expression "*puVar1 = *puVar1 | 0x200000" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 | 0x200000" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (| "|") (number_literal "0x200000"))) (; ";")) (} "}"))) (if_statement "if ((DAT_0017fac0 & 3) == 2) {\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }\n        else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" (if "if") (parenthesized_expression "((DAT_0017fac0 & 3) == 2)" (( "(") (binary_expression "(DAT_0017fac0 & 3) == 2" (parenthesized_expression "(DAT_0017fac0 & 3)" (( "(") (binary_expression "DAT_0017fac0 & 3" (identifier "DAT_0017fac0") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          uVar7 = FUN_00123030(puVar12[3]);\n          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" ({ "{") (expression_statement "uVar7 = FUN_00123030(puVar12[3]);" (assignment_expression "uVar7 = FUN_00123030(puVar12[3])" (identifier "uVar7") (= "=") (call_expression "FUN_00123030(puVar12[3])" (identifier "FUN_00123030") (argument_list "(puVar12[3])" (( "(") (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (expression_statement "FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);" (call_expression "FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7)" (identifier "FUN_0011a8a0") (argument_list "(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7)" (( "(") (pointer_expression "*(undefined4 *)(puVar18 + 2)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 2)" (( "(") (binary_expression "puVar18 + 2" (identifier "puVar18") (+ "+") (number_literal "2")) () ")")))) (, ",") (identifier "lVar6") (, ",") (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "puVar12 = (undefined8 *)*puVar12;" (assignment_expression "puVar12 = (undefined8 *)*puVar12" (identifier "puVar12") (= "=") (cast_expression "(undefined8 *)*puVar12" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar12" (* "*") (identifier "puVar12")))) (; ";")) (} "}")) (else_clause "else {\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" (else "else") (compound_statement "{\n          uVar7 = FUN_001230d0();\n          FUN_0011a860(iVar17,uVar7);\n          puVar12 = (undefined8 *)*puVar12;\n        }" ({ "{") (expression_statement "uVar7 = FUN_001230d0();" (assignment_expression "uVar7 = FUN_001230d0()" (identifier "uVar7") (= "=") (call_expression "FUN_001230d0()" (identifier "FUN_001230d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0011a860(iVar17,uVar7);" (call_expression "FUN_0011a860(iVar17,uVar7)" (identifier "FUN_0011a860") (argument_list "(iVar17,uVar7)" (( "(") (identifier "iVar17") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "puVar12 = (undefined8 *)*puVar12;" (assignment_expression "puVar12 = (undefined8 *)*puVar12" (identifier "puVar12") (= "=") (cast_expression "(undefined8 *)*puVar12" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar12" (* "*") (identifier "puVar12")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "uVar7 = FUN_00123030(0);" (assignment_expression "uVar7 = FUN_00123030(0)" (identifier "uVar7") (= "=") (call_expression "FUN_00123030(0)" (identifier "FUN_00123030") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0011a860(iVar17,uVar7);" (call_expression "FUN_0011a860(iVar17,uVar7)" (identifier "FUN_0011a860") (argument_list "(iVar17,uVar7)" (( "(") (identifier "iVar17") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)*puVar18" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  long *plVar1;
  type_1 *var_34;
  long *plVar2;
  bool bVar3;
  type_2 var_21;
  type_2 uVar5;
  type_3 *var_16;
  type_4 *peVar6;
  size_t var_31;
  char *pcVar8;
  char *pcVar9;
  type_5 *pbVar10;
  type_6 *var_3;
  long *var_8;
  long *var_6;
  type_7 uVar13;
  long var_9;
  type_8 bVar15;
  int iVar16;
  char *pcVar17;
  int var_4;
  type_9 *var_11;
  type_10 uVar20;
  
  if (function_1::called != 0) {
    return;
  }
  ldctor_build_sets::called = 1;
  if ((var_1 != 0) && (var_11 = var_2, var_2 != (type_9 *)0x0)) {
    do {
      var_3 = var_11->elements;
      var_9 = 0;
      if (var_3 != (type_6 *)0x0) {
        while( true ) {
          var_3 = var_3->next;
          var_4 = (int)var_9;
          iVar16 = var_4 + 1;
          if (var_3 == (type_6 *)0x0) break;
          var_9 = (long)iVar16;
        }
        var_8 = (long *)var_5((long)iVar16 * 8);
        var_6 = var_8;
        for (var_3 = var_11->elements; var_3 != (type_6 *)0x0; var_3 = var_3->next) {
          *var_6 = (long)var_3;
          var_6 = var_6 + 1;
        }
        var_7(var_8,(long)iVar16,8,ctor_cmp);
        var_11->elements = (type_6 *)*var_8;
        var_6 = var_8;
        if (var_4 != 0) {
          do {
            plVar2 = (long *)*var_6;
            plVar1 = var_6 + 1;
            var_6 = var_6 + 1;
            *plVar2 = *plVar1;
          } while (var_8 + (type_10)(var_4 - 1) + 1 != var_6);
          var_6 = var_8 + var_9;
        }
        *(type_7 *)*var_6 = 0;
        var_10(var_8);
      }
      var_11 = var_11->next;
    } while (var_11 != (type_9 *)0x0);
  }
  bVar3 = false;
  var_12(&constructor_list);
  var_13(&constructor_list);
  var_11 = var_2;
joined_r0x0011eaf9:
  do {
    if (var_11 == (type_9 *)0x0) {
      var_14();
      return;
    }
    if (1 < (byte)(var_11->h->field_0x18 - 3)) {
      var_16 = (type_3 *)var_15(link_info.output_bfd,var_11->reloc);
      if (var_16 == (type_3 *)0x0) {
        bVar15 = var_11->reloc;
        if ((link_info._0_1_ & 3) == 2) {
          pcVar8 = (var_11->h->root).string;
          uVar13 = var_17(bVar15);
          pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";
          pcVar9 = (link_info.output_bfd)->xvec->name;
        }
        else {
          if (var_11->elements->var_34->owner == (type_11 *)0x0) {
            pbVar10 = var_11->h;
          }
          else {
            var_16 = (type_3 *)var_15();
            if (var_16 != (type_3 *)0x0) goto LAB_0011eb6f;
            pbVar10 = var_11->h;
            bVar15 = var_11->reloc;
            pcVar8 = (pbVar10->root).string;
            if (var_11->elements->var_34->owner != (type_11 *)0x0) {
              uVar13 = var_17(bVar15);
              pcVar17 = "%X%P: %s does not support reloc %s for set %s\n";
              pcVar9 = var_11->elements->var_34->owner->xvec->name;
              goto LAB_0011ee49;
            }
          }
          pcVar8 = (pbVar10->root).string;
          uVar13 = var_17(bVar15);
          pcVar17 = "%X%P: special section %s does not support reloc %s for set %s\n";
          pcVar9 = var_11->elements->var_34->name;
        }
LAB_0011ee49:
        pcVar17 = (char *)var_18(0,pcVar17,5);
        var_19(pcVar17,pcVar9,uVar13,pcVar8);
        var_11 = var_11->next;
        goto joined_r0x0011eaf9;
      }
LAB_0011eb6f:
      var_21 = var_20(var_16);
      if (var_21 == 2) {
        var_4 = 0x11d;
      }
      else if (var_21 < 3) {
        var_4 = 0x11e;
        if (var_21 != 1) {
LAB_0011edcf:
          pcVar8 = (var_11->h->root).string;
          uVar5 = var_20(var_16);
          pcVar9 = (char *)var_18(0,"%X%P: unsupported size %d for set %s\n",5);
          var_4 = 0x11c;
          var_19(pcVar9,(type_10)uVar5,pcVar8);
        }
      }
      else {
        var_4 = 0x11c;
        if (var_21 != 4) {
          if (var_21 != 8) goto LAB_0011edcf;
          var_4 = (var_16->complain_on_overflow == var_22) + 0x11a;
        }
      }
      peVar6 = var_23((long)(int)var_21);
      peVar6 = var_24(0x117,peVar6);
      peVar6 = var_25(".",peVar6,0);
      var_26(peVar6);
      peVar6 = var_27(0x103,".");
      peVar6 = var_25((var_11->h->root).string,peVar6,0);
      var_26(peVar6);
      peVar6 = var_23(var_11->count);
      var_28(var_4,peVar6);
      var_3 = var_11->elements;
      while (var_3 != (type_6 *)0x0) {
        if (config.map_file != (type_12 *)0x0) {
          if (!bVar3) {
            pcVar8 = (char *)var_18(0,"\nSet                 Symbol\n\n",5);
            var_29(pcVar8);
          }
          var_29("%s",(var_11->h->root).string);
          var_31 = var_30((var_11->h->root).string);
          uVar20 = var_31 & 0xffffffff;
          if (0x12 < (int)var_31) {
            var_32();
            uVar20 = 0;
          }
          do {
            var_33();
            var_21 = (int)uVar20 + 1;
            uVar20 = (type_10)var_21;
          } while (var_21 != 0x14);
          if (var_3->name == (char *)0x0) {
            bVar3 = true;
            var_29("%G\n",var_3->var_34->owner,var_3->var_34,var_3->value);
          }
          else {
            bVar3 = true;
            var_29("%pT\n");
          }
        }
        var_34 = var_3->var_34;
        if (var_34 != (type_1 *)(var_35 + 0x230)) {
          var_34->flags = var_34->flags | 0x200000;
        }
        if ((link_info._0_1_ & 3) == 2) {
          peVar6 = var_23(var_3->value);
          var_36(var_11->reloc,var_16,var_3->var_34,var_3->name,peVar6);
          var_3 = var_3->next;
        }
        else {
          peVar6 = var_37(var_34,var_3->value);
          var_28(var_4,peVar6);
          var_3 = var_3->next;
        }
      }
      peVar6 = var_23(0);
      var_28(var_4,peVar6);
    }
    var_11 = var_11->next;
  } while( true );
}


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

void MASKED(void)

{
  uint *puVar1;
  undefined8 *puVar2;
  bool bVar3;
  uint uVar4;
  undefined4 uVar5;
  long lVar6;
  undefined8 uVar7;
  size_t sVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  long *plVar11;
  undefined8 *__base;
  undefined8 *puVar12;
  undefined8 uVar13;
  undefined8 *puVar14;
  int iVar15;
  char *pcVar16;
  int iVar17;
  undefined8 *puVar18;
  ulong uVar19;
  
  if (DAT_0017f578 != 0) {
    return;
  }
  DAT_0017f578 = 1;
  if ((DAT_0017fa90 != 0) && (puVar18 = DAT_0017fa70, DAT_0017fa70 != (undefined8 *)0x0)) {
    do {
      plVar11 = (long *)puVar18[4];
      lVar6 = 0;
      if (plVar11 != (long *)0x0) {
        while( true ) {
          plVar11 = (long *)*plVar11;
          iVar17 = (int)lVar6;
          iVar15 = iVar17 + 1;
          if (plVar11 == (long *)0x0) break;
          lVar6 = (long)iVar15;
        }
        __base = (undefined8 *)xmalloc((long)iVar15 * 8);
        puVar14 = __base;
        for (puVar12 = (undefined8 *)puVar18[4]; puVar12 != (undefined8 *)0x0;
            puVar12 = (undefined8 *)*puVar12) {
          *puVar14 = puVar12;
          puVar14 = puVar14 + 1;
        }
        qsort(__base,(long)iVar15,8,FUN_0011e8a0);
        puVar18[4] = *__base;
        puVar12 = __base;
        if (iVar17 != 0) {
          do {
            puVar2 = (undefined8 *)*puVar12;
            puVar14 = puVar12 + 1;
            puVar12 = puVar12 + 1;
            *puVar2 = *puVar14;
          } while (__base + (ulong)(iVar17 - 1) + 1 != puVar12);
          puVar12 = __base + lVar6;
        }
        *(undefined8 *)*puVar12 = 0;
        free(__base);
      }
      puVar18 = (undefined8 *)*puVar18;
    } while (puVar18 != (undefined8 *)0x0);
  }
  bVar3 = false;
  FUN_00115b30(&DAT_0017fa80);
  FUN_00115b40(&DAT_0017fa80);
  puVar18 = DAT_0017fa70;
joined_r0x0011eaf9:
  do {
    if (puVar18 == (undefined8 *)0x0) {
      FUN_00115b80();
      return;
    }
    if (1 < (byte)(*(char *)(puVar18[1] + 0x18) - 3U)) {
      lVar6 = bfd_reloc_type_lookup(DAT_0017fb10,*(undefined4 *)(puVar18 + 2));
      if (lVar6 == 0) {
        uVar5 = *(undefined4 *)(puVar18 + 2);
        if ((DAT_0017fac0 & 3) == 2) {
          uVar7 = *(undefined8 *)(puVar18[1] + 8);
          uVar13 = bfd_get_reloc_code_name(uVar5);
          pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";
          uVar9 = **(undefined8 **)(DAT_0017fb10 + 8);
        }
        else {
          if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) == 0) {
            lVar6 = puVar18[1];
          }
          else {
            lVar6 = bfd_reloc_type_lookup();
            if (lVar6 != 0) goto LAB_0011eb6f;
            lVar6 = puVar18[1];
            uVar5 = *(undefined4 *)(puVar18 + 2);
            uVar7 = *(undefined8 *)(lVar6 + 8);
            if (*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) != 0) {
              uVar13 = bfd_get_reloc_code_name(uVar5);
              pcVar16 = "%X%P: %s does not support reloc %s for set %s\n";
              uVar9 = **(undefined8 **)(*(long *)(*(long *)(puVar18[4] + 0x10) + 0xf0) + 8);
              goto LAB_0011ee49;
            }
          }
          uVar7 = *(undefined8 *)(lVar6 + 8);
          uVar13 = bfd_get_reloc_code_name(uVar5);
          pcVar16 = "%X%P: special section %s does not support reloc %s for set %s\n";
          uVar9 = **(undefined8 **)(puVar18[4] + 0x10);
        }
LAB_0011ee49:
        uVar10 = dcgettext(0,pcVar16,5);
        FUN_001251f0(uVar10,uVar9,uVar13,uVar7);
        puVar18 = (undefined8 *)*puVar18;
        goto joined_r0x0011eaf9;
      }
LAB_0011eb6f:
      uVar4 = bfd_get_reloc_size(lVar6);
      if (uVar4 == 2) {
        iVar17 = 0x11d;
      }
      else if (uVar4 < 3) {
        iVar17 = 0x11e;
        if (uVar4 != 1) {
LAB_0011edcf:
          uVar7 = *(undefined8 *)(puVar18[1] + 8);
          uVar5 = bfd_get_reloc_size(lVar6);
          uVar9 = dcgettext(0,"%X%P: unsupported size %d for set %s\n",5);
          iVar17 = 0x11c;
          FUN_001251f0(uVar9,uVar5,uVar7);
        }
      }
      else {
        iVar17 = 0x11c;
        if (uVar4 != 4) {
          if (uVar4 != 8) goto LAB_0011edcf;
          iVar17 = (*(int *)(lVar6 + 0x18) == 2) + 0x11a;
        }
      }
      uVar7 = FUN_00123030((long)(int)uVar4);
      uVar7 = FUN_00123290(0x117,uVar7);
      uVar7 = FUN_00123350(".",uVar7,0);
      FUN_0011a930(uVar7);
      uVar7 = FUN_00123310(0x103,".");
      uVar7 = FUN_00123350(*(undefined8 *)(puVar18[1] + 8),uVar7,0);
      FUN_0011a930(uVar7);
      uVar7 = FUN_00123030(puVar18[3]);
      FUN_0011a860(iVar17,uVar7);
      puVar12 = (undefined8 *)puVar18[4];
      while (puVar12 != (undefined8 *)0x0) {
        if (DAT_0017fc98 != 0) {
          if (!bVar3) {
            uVar7 = dcgettext(0,"\nSet                 Symbol\n\n",5);
            FUN_001252f0(uVar7);
          }
          FUN_001252f0(&DAT_0013efee,*(undefined8 *)(puVar18[1] + 8));
          sVar8 = strlen(*(char **)(puVar18[1] + 8));
          uVar19 = sVar8 & 0xffffffff;
          if (0x12 < (int)sVar8) {
            FUN_00124290();
            uVar19 = 0;
          }
          do {
            FUN_00124270();
            uVar4 = (int)uVar19 + 1;
            uVar19 = (ulong)uVar4;
          } while (uVar4 != 0x14);
          if (puVar12[1] == 0) {
            bVar3 = true;
            FUN_001252f0(&DAT_001402b9,*(undefined8 *)(puVar12[2] + 0xf0),puVar12[2],puVar12[3]);
          }
          else {
            bVar3 = true;
            FUN_001252f0(&DAT_0013eeb7);
          }
        }
        if (puVar12[2] != 0x17ed50) {
          puVar1 = (uint *)(puVar12[2] + 0x20);
          *puVar1 = *puVar1 | 0x200000;
        }
        if ((DAT_0017fac0 & 3) == 2) {
          uVar7 = FUN_00123030(puVar12[3]);
          FUN_0011a8a0(*(undefined4 *)(puVar18 + 2),lVar6,puVar12[2],puVar12[1],uVar7);
          puVar12 = (undefined8 *)*puVar12;
        }
        else {
          uVar7 = FUN_001230d0();
          FUN_0011a860(iVar17,uVar7);
          puVar12 = (undefined8 *)*puVar12;
        }
      }
      uVar7 = FUN_00123030(0);
      FUN_0011a860(iVar17,uVar7);
    }
    puVar18 = (undefined8 *)*puVar18;
  } while( true );
}

